控制重复包含的两种方法与区别
为了保证一个头文件不被多次包含,我们使用宏定义来进行避免,有两种方法,介绍如下,并对它们进行区别:
1.#ifndef DFNAME
#define DFNAME
......
#endif
2.#pragma once
两种方法都可以防止头文件被多次包含,但是它们是有区别的。
第一种方法使用宏定义,排除了文件被多次包含可能。缺点:有可能两个不同的头文件,宏名字相同,导致找不到对应头文件。
第二种方法使用编译器默认的定义,可以排除文件包含可能,根据头文件名字进行排除。缺点:不能排除头文件名不同,但是内容完全相同的头文件。