我到底应该在 C++ 的头文件中声明什么?
What exactly should I declare in a header file in C++?
我几乎搜索了所有可能的网站,但没有人能够回答我的问题。基本上我问的是,我到底应该在头文件中放置什么?我知道函数声明,但是 .h 文件中的变量声明也是一回事吗?我需要知道使用头文件的“传统”或“常用方法”是什么。
编辑: 如果这有帮助,我最近才开始学习 C++,我 objective 学习这门语言是进入这个行业的机会,主要是 gamedev,并且我需要知道做事的正确方法是什么。因此问题。
头文件通常包含您希望在翻译单元之间共享的实体声明。
这通常意味着class定义、类型别名和函数声明.
一个翻译单元,粗略地说,就是“一个.cpp文件”。
因此,如果您在 a.cpp
中使用一个函数,并且还在 b.cpp
中使用它,则它的声明需要在两个翻译单元中都可用,并且最好的方法是也就是在头文件中写一次,然后在两个.cpp
文件中包含头文件。
就是这样。
虽然可以在头文件中声明变量,但很少这样做。对于初学者,您希望在其上放置 extern
以使其成为 而不是 定义(您不需要多个定义!)。到那时,您必须问自己为什么不使用 class.
我几乎搜索了所有可能的网站,但没有人能够回答我的问题。基本上我问的是,我到底应该在头文件中放置什么?我知道函数声明,但是 .h 文件中的变量声明也是一回事吗?我需要知道使用头文件的“传统”或“常用方法”是什么。
编辑: 如果这有帮助,我最近才开始学习 C++,我 objective 学习这门语言是进入这个行业的机会,主要是 gamedev,并且我需要知道做事的正确方法是什么。因此问题。
头文件通常包含您希望在翻译单元之间共享的实体声明。
这通常意味着class定义、类型别名和函数声明.
一个翻译单元,粗略地说,就是“一个.cpp文件”。
因此,如果您在 a.cpp
中使用一个函数,并且还在 b.cpp
中使用它,则它的声明需要在两个翻译单元中都可用,并且最好的方法是也就是在头文件中写一次,然后在两个.cpp
文件中包含头文件。
就是这样。
虽然可以在头文件中声明变量,但很少这样做。对于初学者,您希望在其上放置 extern
以使其成为 而不是 定义(您不需要多个定义!)。到那时,您必须问自己为什么不使用 class.