Could someone tell me why constant is preferable to #define in the following code?