• Create Account

### #ActualÁlvaro

Posted 11 February 2013 - 03:42 PM

Rather than using #define to define constants it's better to just make constants:

const size_t SIZE = 10;
This gives you type control and avoids macro expansion problems like the one you encountered.

Using #define is almost the same as using your a text editor's 'find-and-replace' function. There are some cases where it's useful, but usually it causes more problems than it solves.

Actually, I don't think this is true in C. I couldn't get this to work:
const int N = 10;

struct S {
int i[N];
};


### #1Álvaro

Posted 11 February 2013 - 03:41 PM

'array' is a keyword in C++ IIRC, so it's a good habit to not use it as a variable name. Rather than using #define to define constants it's better to just make constants:

const size_t SIZE = 10;
This gives you type control and avoids macro expansion problems like the one you encountered.

Using #define is almost the same as using your a text editor's 'find-and-replace' function. There are some cases where it's useful, but usually it causes more problems than it solves.

Actually, I don't think this is true in C. I couldn't get this to work:
const int N = 10;

struct S {
int i[N];
};


PARTNERS