C++防止文件重复包含
引用自:https://blog.csdn.net/xhfight/article/details/51550446
为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。
(一) #ifndef的方式受C/C++语言标准支持
优点:
(1) 不光可以保证同一个文件不被包含多次,也能保证内容完全相同的两个文件(或者代码片段)不被同时包含。因为可以对文件内的代码段使用 #ifndef,控制editor模式与game模式执行不同代码
(2)受C/C++语言标准的支持,不受编译器的任何限制
缺点:
(1)如果不同头文件中的宏名不小心“撞车”,可能就会导致你看到头文件明明存在,编译器却硬说找不到声明的状况——这种情况有时非常让人抓狂。
(2)由于编译器每次都需要打开头文件才能判定是否有重复定义,因此在编译大型项目时,ifn