首页 > 代码库 > C++ 内置宏定义 与 预编译指令
C++ 内置宏定义 与 预编译指令
内置宏和预编译指令, 在代码调试、单元测试、跨平台代码中经常会用到。这里记录一下。
1. 内置宏
(文件名,当前行号,当前日期,当前时间,当前执行方法名)
__FILE__
__LINE__
__DATE__
__TIME__
__FUNCTION__
2.预编译指令
可以防止头文件被多次引用
可以方便解决代码跨平台编译问题
可以根据自定义变量灵活执行程序
等等,许多好处
效果可以看代码实例:
test.h
1 #ifndef __TEST_H 2 #define __TEST_H 3 4 #include <iostream> 5 6 class Test{ 7 public: 8 Test(int _val){ 9 this->val = _val; 10 } 11 12 void print(){ 13 std::cout << "the val is " << this->val << std::endl; 14 std::cout << "function:" << __FUNCTION__ << std::endl; 15 std::cout << "line:" << __LINE__ << std::endl; 16 } 17 18 #ifdef CODE_TEST //如果定义了CODE_TEST, 则声明为public; 否则为private 19 public: 20 #else 21 private: 22 #endif 23 int val; 24 }; 25 26 #endif
main.cpp
1 #include "test.h" //test.h使用了预编译 2 #include "test.h" 3 4 int main(){ 5 Test t(5); 6 t.print(); 7 8 #ifdef CODE_TEST //如果定义了CODE_TEST, 则会执行下面到代码 9 std::cout << "t.val = " << t.val << std::endl; 10 #endif 11 12 return 0; 13 }
执行:
C++ 内置宏定义 与 预编译指令
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。