C++ 项目的头文件应该是什么样的?

问题描述 投票:0回答:3

我学过C,现在我决定转C++。

所以,在 C 中,我在头文件中使用了

#ifndef
#endif
。我应该在 C++ 中使用相同的命令吗?或者有其他选择吗?

c++ c visual-studio visual-c++ header-files
3个回答
4
投票

是的,预处理器以 (大部分) 相同的方式工作,因此您仍然应该使用预处理器指令来防止多次包含相同的代码。

C 和 C++ 预处理器之间的任何功能差异都可能是边缘情况,与您当前的学习水平不太可能相关。


0
投票

文件/头关系在 C 和 C++ 中是相同的。

foo.h:

#ifndef SOME_UNIQUE_NAME_HERE
#define SOME_UNIQUE_NAME_HERE

// your declarations (and certain types of definitions) here

#endif 

C++ 预处理器与其对应的 C 语言相比,本质上是一样的。所有指令都可以在任何一种语言中使用,无论是用头文件 (.h) 还是源文件(.c、.cc、.cpp)编写。

在这里阅读更多关于标题的奇迹!


0
投票

Commader_Quazar的答案是正确的。

或者你可以替代:

#ifndef SOME_UNIQUE_NAME_HERE
#define SOME_UNIQUE_NAME_HERE

// your declarations (and certain types of definitions) here

#endif 

与:

#pragma once

// your declarations (and certain types of definitions) here

它可以让你写 1 行代码而不是 3 行,并且更不容易出错(因为在这种情况下你不必担心记住把

#endif
放在文件的末尾)但是我个人更喜欢第一个选项。

© www.soinside.com 2019 - 2024. All rights reserved.