1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > #pragma once与#ifndef

#pragma once与#ifndef

时间:2020-02-15 19:15:41

相关推荐

#pragma once与#ifndef

在C/C++中,在使用预编译指令#include的时候,为了防止重复引用造成二义性的两种方法。

#ifndef

它不光可以保证同一份文件不会被包含两次,也能够保证不同文件完全相同的内容不会被包含两次。但,同样的,如果自定义的宏名不小心“重名”了,两份不同的文件使用同一个宏名进行#ifndef,那么会导致编译器找不到声明的情况(被编译器判定为重定义而屏蔽了)。

此外,由于编译器每次都需要打开头文件才能判定是否有重复定义,因此在编译大型项目时,#ifndef会使得编译时间相对较长,因此一些编译器逐渐开始支持#pragma once的方式(Visual Studio 新建头文件会自带#pragma once指令)。

#ifndef #define //code #endif

#pragma once

一般来说由编译器提供,是一个非标准但被广泛支持的方式(有些编译器不支持)

好处:操作简单,效率高

缺点:没有#ifndef灵活,兼容(#ifndef不受编译器的限制)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。