我想知道将 C++ 常规函数而不是方法(类中的方法)存储在头文件中是否是一种好习惯。
例子:
#ifndef FUNCTIONS_H_INCLUDED
#define FUNCTIONS_H_INCLUDED
int add(int a, int b)
{
return a + b;
}
#endif
并像这样使用它:
#include <iostream>
#include "Functions.h"
int main(int argc, char* args[])
{
std::cout << add(5, 8) << std::endl;
return 1;
}
这是一个好习惯吗?提前致谢!
原文由 Nobody 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想在多个源文件(或者更确切地说, 翻译单元)中使用一个函数,那么您将函数 _声明_(即函数原型)放在头文件中,并将 定义 放在一个源文件中。
然后在构建时,首先将源文件编译为目标文件,然后将目标文件链接到最终的可执行文件中。
示例代码:
你如何构建它很大程度上取决于你的环境。如果您使用的是 IDE(如 Visual Studio、Eclipse、Xcode 等),那么您将所有文件放入项目中的正确位置。
如果您是从命令行构建的,例如 Linux 或 OSX,那么您可以:
标志
-c
告诉编译器生成一个目标文件,并将其命名为与源文件相同但带有.o
后缀。最后一条命令将两个目标文件链接在一起形成最终的可执行文件,并将其命名为my_program
(这就是-o
选项所做的,告诉输出文件的名称)。