#define | typedef |
---|---|
Is a preprocessor token: the compiler itself will never see it. | Is a compiler token: the preprocessor does not care about it. | Obeys scoping rules just like variables. | Stays valid until the end of the file (or until a matching undef). | Is a preprocessor directive used to define macros or general pattern substitutions. For eg. #define MAX 100, substitutes all occurrences of MAX with 100 | Creates an "alias" to an existing data type. For e.g. typedef char chr; |
#define INTPTR int* ... INTPTR a, b;After preprocessing, that line expands to int* a, b;Only a will have the type int *; b will be declared a plain int (because the * is associated with the declarator, not the type specifier). |
typedef int *INTPTR; ... INTPTR a, b;In this case, both a and b will have type int *. |
Monday, September 8, 2014
C++ #define Vs typedef
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment