This question already has answers here:
#pragma once vs include guards? [duplicate]
(13个回答)
7年前关闭。
1,我看到很多地方,Header Guard和Pragma曾经以特定的顺序一起使用(顺序实际上有关系吗?)
2.另外一个疑问是,默认情况下,每当VS IDE生成一个新的类文件时,它将#pragma放入实现文件(.cpp)中一次。这真的需要吗?
哪种方法是标题保护或阻止多个包含的正确方法?
尽管许多流行的编译器/预处理器都支持,但它是非标准的。参见Is #pragma once a safe include guard?
保证可以与所有C++编译器/预处理器一起使用。
同时使用两者没有意义。
(13个回答)
7年前关闭。
1,我看到很多地方,Header Guard和Pragma曾经以特定的顺序一起使用(顺序实际上有关系吗?)
2.另外一个疑问是,默认情况下,每当VS IDE生成一个新的类文件时,它将#pragma放入实现文件(.cpp)中一次。这真的需要吗?
#ifndef MYHEADER_H
#define MYHEADER_H
#pragma once
//my set of includes
哪种方法是标题保护或阻止多个包含的正确方法?
最佳答案
#pragma once
尽管许多流行的编译器/预处理器都支持,但它是非标准的。参见Is #pragma once a safe include guard?
#ifndef MYHEADER_H
#define MYHEADER_H
#endif // ndef MYHEADER_H
保证可以与所有C++编译器/预处理器一起使用。
同时使用两者没有意义。
关于c++ - header guard 和杂文曾经,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14903547/
10-13 04:05