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

How should header file look like for C++ projects?

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

因此,在 C 语言中,我在头文件中使用了 #ifndef #endif。我应该在 C++ 中使用相同的命令吗?或者有其他选择吗?

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

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

file/header 关系在 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)中。

Read more about the wonders of headers here!

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 放在文件末尾)不过我个人更喜欢第一个选项。