bdh*_*har 12 include c-preprocessor
可能重复:
#pragma一次vs包括警卫?
使用#pragma once和#if !defined MYHEADER_INCLUDED_构造有何不同(性能,可用性和功能性)?或者两者有什么区别?
#pragma once实现编译速度更快,因为它的意图很明确defined版本当然也有更广泛的用途,如果小心使用将允许检入另一个文件,如果包括前者(例如,对于条件编译)#pragma once- 但是,这是一个非标准的扩展虽然pragma曾经在许多方面优于#ifdef守卫,但它有一个主要缺陷:它基于文件系统路径:它使用两个不同(绝对)路径也是两个不同文件的基本假设.不幸的是,这并非总是如此.
虽然你不太可能遇到这个问题,但需要注意的是.