Click here to Skip to main content
15,890,973 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionMac Os Installation Problem Pin
Girish6019-Feb-06 19:39
Girish6019-Feb-06 19:39 
AnswerRe: Mac Os Installation Problem Pin
ThatsAlok10-Feb-06 0:41
ThatsAlok10-Feb-06 0:41 
QuestionOpening other application from our own application Pin
Katamneni9-Feb-06 18:42
Katamneni9-Feb-06 18:42 
AnswerRe: Opening other application from our own application Pin
Cool Ju9-Feb-06 19:30
Cool Ju9-Feb-06 19:30 
AnswerRe: Opening other application from our own application Pin
csc9-Feb-06 20:38
csc9-Feb-06 20:38 
QuestionDifference between Typedef and #define? Pin
Link26009-Feb-06 18:23
Link26009-Feb-06 18:23 
AnswerRe: Difference between Typedef and #define? Pin
QuickDeveloper9-Feb-06 18:51
QuickDeveloper9-Feb-06 18:51 
AnswerRe: Difference between Typedef and #define? Pin
Rage9-Feb-06 21:20
professionalRage9-Feb-06 21:20 
GeneralRe: Difference between Typedef and #define? Pin
BadKarma9-Feb-06 22:07
BadKarma9-Feb-06 22:07 
GeneralRe: Difference between Typedef and #define? Pin
Rage10-Feb-06 1:25
professionalRage10-Feb-06 1:25 
GeneralRe: Difference between Typedef and #define? Pin
BadKarma10-Feb-06 2:15
BadKarma10-Feb-06 2:15 
GeneralRe: Difference between Typedef and #define? Pin
Rage10-Feb-06 2:55
professionalRage10-Feb-06 2:55 
GeneralRe: Difference between Typedef and #define? Pin
Ryan Binns10-Feb-06 11:58
Ryan Binns10-Feb-06 11:58 
GeneralRe: Difference between Typedef and #define? Pin
normanS12-Feb-06 20:14
normanS12-Feb-06 20:14 
AnswerRe: Difference between Typedef and #define? Pin
Ryan Binns9-Feb-06 21:41
Ryan Binns9-Feb-06 21:41 
Never, ever use #define to define new types. It's just asking for trouble.

One reason the others haven't mentioned yet is multiple variable definitions on one line. Say you do this:
#define INTPTR int*
 
INPTR p1, p2;
You may think that p1 and p2 have the same type... They do not. p1 is an int* and p2 is an int. The preprocessor expands the macro definition to produce
int* p1, p2;
Remember that the * modifies the variable, not the type, so the * only makes p1 a pointer.

Typedefs don't have this problem
typedef int* INTPTR;
 
INTPTR p1, p2;
behaves exactly as expected.

Ryan
"Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"

GeneralRe: Difference between Typedef and #define? Pin
jhwurmbach10-Feb-06 3:09
jhwurmbach10-Feb-06 3:09 
GeneralRe: Difference between Typedef and #define? Pin
Blake Miller10-Feb-06 4:13
Blake Miller10-Feb-06 4:13 
GeneralRe: Difference between Typedef and #define? Pin
jhwurmbach10-Feb-06 4:23
jhwurmbach10-Feb-06 4:23 
GeneralRe: Difference between Typedef and #define? Pin
Blake Miller10-Feb-06 4:28
Blake Miller10-Feb-06 4:28 
GeneralRe: Difference between Typedef and #define? Pin
jhwurmbach10-Feb-06 4:34
jhwurmbach10-Feb-06 4:34 
GeneralRe: Difference between Typedef and #define? Pin
Blake Miller10-Feb-06 4:41
Blake Miller10-Feb-06 4:41 
GeneralRe: Difference between Typedef and #define? Pin
BadKarma10-Feb-06 4:38
BadKarma10-Feb-06 4:38 
GeneralRe: Difference between Typedef and #define? Pin
Blake Miller10-Feb-06 4:46
Blake Miller10-Feb-06 4:46 
GeneralRe: Difference between Typedef and #define? Pin
Ryan Binns10-Feb-06 11:53
Ryan Binns10-Feb-06 11:53 
QuestionMy string class Pin
Sarvan AL9-Feb-06 17:56
Sarvan AL9-Feb-06 17:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.