define & typedef 的识别

  • define & typedef
  • 定义
define  :  文本替换
typedef  :  为类型取别名

  • 运行时机不同
define  :  预处理命令,在编译前运行。
typedef :    编译期运行(正是因为其在编译期执行,所以有类型检查的能力)
  • 作用域
define  :  无作用域限制(只要是在前面定义过的预处理宏,在之后都能使用)
typedef  :  有作用域限制
---------------------------------------------------------------
void func1()  
{  
    #define HW "HelloWorld";  
}  
  
void func2()  
{  
    string str = HW;  
    cout << str << endl;  
}  
---------------------------------------------------------------
void func1()  
{  
    typedef unsigned int UINT;  
}  
  
void func2()  
{  
    UINT uValue = 5;//error C2065: 'UINT' : undeclared identifier  
}  
---------------------------------------------------------------
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容