我可以在 C++ 的头文件中放置一个内联函数吗?
Can I put an inline function on a header file in c++?
我有一个非常小的函数,它不属于任何 class。我可以将它放在头文件中以使其内联吗?像这样的事情:
inline int add(int a, int b)
{
return a+b;
}
请注意,它不是class的方法,而是c类型的函数。
你的问题的答案是肯定的。
已在C++ FAQ
中回答
如何告诉编译器使非成员函数内联?
当你声明一个内联函数时,它看起来就像一个普通函数:
void f(int i, char c);
但是当你定义一个内联函数时,你在函数的定义前加上关键字 inline,然后将定义放入头文件中:
inline
void f(int i, char c)
{
// ...
}
注意:必须将函数的定义({...} 之间的部分)放在头文件中,除非该函数仅在单个 .cpp 文件中使用。特别是,如果您将内联函数的定义放入 .cpp 文件中,然后从其他某个 .cpp 文件中调用它,您将从链接器收到“未解析的外部”错误。
我有一个非常小的函数,它不属于任何 class。我可以将它放在头文件中以使其内联吗?像这样的事情:
inline int add(int a, int b)
{
return a+b;
}
请注意,它不是class的方法,而是c类型的函数。
你的问题的答案是肯定的。
已在C++ FAQ
中回答如何告诉编译器使非成员函数内联?
当你声明一个内联函数时,它看起来就像一个普通函数:
void f(int i, char c);
但是当你定义一个内联函数时,你在函数的定义前加上关键字 inline,然后将定义放入头文件中:
inline
void f(int i, char c)
{
// ...
}
注意:必须将函数的定义({...} 之间的部分)放在头文件中,除非该函数仅在单个 .cpp 文件中使用。特别是,如果您将内联函数的定义放入 .cpp 文件中,然后从其他某个 .cpp 文件中调用它,您将从链接器收到“未解析的外部”错误。