我可以在头文件(C++)中同时指定函数原型和函数定义吗
Can I specify both, the function prototype and function definition in a header file (in C++)?
我想澄清一下,我是否可以在头文件中指定函数原型和函数定义?
我有必要创建一个源文件来定义在头文件中声明的函数吗?
谢谢。。。
我有必要创建一个源文件来定义在头文件中声明的函数吗?
这不是必需的,只是建议使用。
如果在头文件中定义了函数,则在包含该头的每个翻译单元(源文件)中都将定义该函数。
除非你采取措施避免它,否则当你将各种翻译单元链接在一起时,这将导致错误("多重定义…")
避免这种情况的一种方法是声明函数inline
。
不过,一般来说,您最好在头中使用声明,在源文件(翻译单元)中使用定义,以提高编译速度和可维护性。
直到您进入模板函数的主题(这些函数几乎都有要在头中定义)。但它们完全是另一种野兽,在这一点上我不会把你和它们混淆
是的,您可以在头文件中定义所有函数。这是在仅表头的库中完成的。
通常不这样做,因为这可能会导致代码膨胀和更长的编译时间,但这不是必需的。
相关文章:
- 函数如何通知用户它基于函数原型抛出异常?
- 在函数中拥有函数原型的目的是什么?
- 什么..(省略号)作为函数原型中唯一的函数参数,C++?
- 是否可以使用 libclang python 解析 cpp 文件中没有标头的函数原型
- 有没有办法在C++编译时更改函数原型?
- 省略函数原型中的返回类型
- 如何使用 "using" 关键字定义函数原型/签名
- 函数原型未初始化的局部变量
- 如何创建函数原型命名空间
- 标准库头文件函数原型的实现是如何用 c++ 编写的?
- 为什么这种类型的函数原型会引发错误?
- 函数指针类型不能用于函数原型
- 了解此函数原型
- 将字符串向量传递给函数和函数原型问题 c++
- 函数原型范围的有趣用法
- 为什么这不起作用(C++函数原型)
- 将数组传递到函数会在函数原型声明中出现错误
- 在头文件中的函数原型中获取指针数组:函数声明为 void
- 类/成员函数中的函数原型
- 函数原型中的字符串初始化