#pragma once... ... // 声明、定义语句
#pragma once一般由编译器提供保证:同一个文件不会被包含多次。注意这里所说的“同一个文件”是指物理上的一个文件,而不是指内容相同的两个文件。你无法对一个头文件中的一段代码作pragma once声明,而只能针对文件。
优点:你不必再费劲想个宏名了,当然也就不会出现宏名碰撞引发的奇怪问题,大型项目的编译速度也因此提高了一些。
缺点:是如果某个头文件有多份拷贝,本方法不能保证他们不被重复包含。当然,相比宏名碰撞引发的“找不到声明”的问题,这种重复包含很容易被发现并修正。