我可以在C ++的头文件中放置内联函数吗?

我有一个很小的函数,它不是任何类的一部分。我可以将其放在头文件中以使其内联吗?诸如此类的东西:

inline int add(int a, int b)
{
      return a+b;
}

请注意,它不是类的方法,而是ac类型的函数。

阿尔珀

已在C ++常见问题解答中回答

您如何告诉编译器内联非成员函数?

当您声明一个内联函数时,它看起来就像一个普通函数:

void f(int i, char c);

但是,当您定义一个内联函数时,您会在函数的定义之前加上关键字inline,然后将定义放入头文件中:

inline
void f(int i, char c)
{
// ...
}

注意:必须将函数的定义({...}之间的部分)放置在头文件中,除非仅在单个.cpp文件中使用该函数。特别是,如果将内联函数的定义放入.cpp文件中,并从其他一些.cpp文件中调用它,则会从链接器中收到“无法解析的外部”错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我应该在每个头文件中放置一个 C++ 宏保护吗?

我们可以仅具有内联全局函数的头文件,这意味着没有.cpp文件吗?

头文件中的内联函数可以使用具有内部链接的常量吗?

我可以在插值字符串中放置函数吗?如果可以,如何放置

我可以在类型定义函数签名中放置一个throw声明吗?

我可以在 insertRow() 函数中放置 <input> 标签吗?不仅仅是文字

在C中,我可以推迟头文件的“ typedef”,直到包含并使用头文件吗?

C ++类可以在头文件中包含内联初始化的静态const std :: array吗?

我可以在package.json的scripts属性中放置文件名变量吗

我可以在 angular 应用程序中放置 PHP 文件吗?

我可以在TabItem控件中放置区域吗?

我可以在图表的背景中放置图片吗?

可以在C函数指针中放置哪些C ++函数?

我可以在析构函数中使用未在头文件中定义的变量吗?

我可以“隐藏” C ++头文件中定义的任何内容吗

可以在UIActivityItemProvider中放置超链接吗?

我可以在头文件中正确创建对象吗?

我可以将“外部模板”放入头文件吗?

我可以在命名空间中包含头文件吗?

我可以在Fragments构造函数中放入参数吗

Matlab:可以在另一个文件中放置大量的预分配吗?

可以在不同的文件中定义同名的静态内联函数吗?

我可以通过查看二进制文件中的符号来识别未使用的 C++ 头文件吗?

我可以在UIButton.imageView中放置静态图像吗?那是动画吗?

有点像头文件,我可以在C#中分隔一些定义吗?

头文件可以存在而不是文件吗?

我们可以在C ++函数内部包含函数吗?

python可以从C头文件加载定义吗?

我可以在 ReactJS 组件中放置一个值,然后通过导入在另一个文件中的某个位置获取该值吗?