1、#pragma once和起到和#ifndef #define #endif的相同点
他们都可以做到防止头文件的内容被重复包含的作用
2、#pragma once和起到和#ifndef #define #endif的不同点
- #ifndef #define #endif受C/C++标准的支持,不受编译器的任何限制
- 较老的编译器不支持#pragma once,如gcc 3.4,兼容性不够好
- #ifndef #define #endif可以针对一个文件的部分代码,而#pragma once只能针对整个文件