#define 是文本替换,在编译时编译器自动替换。 typedef 就是type define类型定义,是一种更安全的替换。
基本用法
typedef int; INT;
#define INT int
2者差异出来了,首先是别名位置上的差异,再是typedef是一个语句,需要;是程序的一部分,而#define是告诉编译器的。
以前我以为这只是小事,换个名字而已所以没好好学过。但事实是,换个名字或许可以节约不少时间和精力。
比如一个函数int multiply(int a,int b){return a*b;}
和#define A*B multiply(A,B) 这类小函数会占用一些资源,如果大量调用,就是浪费。
#define FOR(I,A,B) for(int I=A;I<B;I++) 如此可以节约下一些人力
而在MFC中宏替换是运用的巧妙非凡。
诶,还没学透就先不写了