- 方式一:
#ifndef _SOMEFILE_H_ //要避免宏名相同 #define _SOMEFILE_H_ .......... // 一些声明语句 #endif
- 方式二:
//这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。 #pragma once // 较方式一后出现,老的编译器可能不兼容 ... ... // 一些声明语句
方式一由语言支持所以移植性好,方式二 可以避免名字冲突。
#ifndef,#define,#endif是C/C++语言中的宏定义,通过宏定义避免文件多次编译。所以在所有支持C++语言的编译器上都是有效的,如果写的程序要跨平台,最好使用这种方式。
#pragma once则由编译器提供保证。