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

man*_*ans 2 c++ inline header-files

我有一个非常小的功能,它不属于任何类.我可以将它放在头文件中以使其内联吗?像这样的东西:

inline int add(int a, int b)
{
      return a+b;
}
Run Code Online (Sandbox Code Playgroud)

请注意,它不是类的方法,而是交流类型的功能.

Alp*_*per 9

它已在C++ FAQ中得到解答

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

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

void f(int i, char c);
Run Code Online (Sandbox Code Playgroud)

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

inline
void f(int i, char c)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)

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


Nei*_*irk 6

你的问题的答案是肯定的。

  • 我认为这个答案是不必要的冗长。不过,+1。 (8认同)