一般用于頭文件中,防止該頭文件被重復引用.
其用法一般為:
#ifndef <標識>
#define <標識>
......... // include or define sth.
#else
......
#endif
<標識>在理論上來說可以是自由命名的,但每個頭文件的這個“標識”都應該是唯一的。
標識的命名規則一般是頭文件名全大寫,前后加下劃線,并把文件名中的“.”也變成下劃線,如:stdio.h對應的就是:
#ifndef _STDIO_H_
#define _STDIO_H_
......... // include or define sth.
#endif
(2)
#if 0
中間可以隨見加入各種文字
#endif
(3)
__FILE__:文件名常量:
__DATE__:日期常量
__TIME__:時間常量
__LINE__:所在行常量
EOF:錯誤常量
CLOCKS_PER_SEC:cpu在一秒內的計時單元數
<cstdlib> EXIT_SUCESS(總是定義W為0),XIT_FAILURE
<cstddef> size_t
<cassert> assert()宏
<memory> auto_ptr類模版
判斷一段程序是由C 編譯還是由C++編譯:
- #ifdef __cplusplus
- cout<<"c++"<<endl;
- #else
- cout<<"c"<<endl;
- #endif