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

时间:2015-01-29 11:22:56

标签: c++ inline header-files

我有一个非常小的函数,它不属于任何类。我可以将它放在头文件中以使其内联吗?像这样的事情:

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

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

2 个答案:

答案 0 :(得分:7)

已在C++ FAQ

中回答

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

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

void f(int i, char c);

但是当你定义一个内联函数时,你在函数的定义前加上关键字inline,然后把定义放到一个头文件中:

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

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

答案 1 :(得分:2)

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