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

nfs0ujit  于 2023-05-19  发布在  其他
关注(0)|答案(3)|浏览(186)

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

mwngjboj

mwngjboj1#

是的,预处理器的工作方式 (大部分) 相同,所以你仍然应该使用预处理器指令来防止多次包含相同的代码。
C和C++中预处理器之间的任何功能差异都可能是边缘情况,不太可能与您当前的学习水平相关。

shyt4zoc

shyt4zoc2#

文件/头的关系在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!

fzwojiic

fzwojiic3#

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

相关问题