C++ 类中定义的友元函数是否自动内联?
如果成员函数是在类内部定义的,则它是一个内联函数。例如C++ 类中定义的友元函数是否自动内联?,c++,inline,friend,C++,Inline,Friend,如果成员函数是在类内部定义的,则它是一个内联函数。例如 struct X { void mem_f() {} //mem_f is inline }; 我的问题是,类中定义的非成员friend函数是否也自动内联 例如 欢迎使用标准中的相关引用/段落编号。谢谢。是的,是的。§11.4/5: 函数可以在友元中定义 类的声明当且仅当 该类为非本地类(9.8), 函数名是非限定的,并且 该函数具有命名空间作用域。 这样的函数是隐式内联的。中定义的友元函数 类位于的(词汇)范围内 在其中定义它的类
struct X
{
void mem_f() {} //mem_f is inline
};
我的问题是,类中定义的非成员friend函数是否也自动内联
例如
欢迎使用标准中的相关引用/段落编号。谢谢。是的,是的。§11.4/5:
函数可以在友元中定义
类的声明当且仅当
该类为非本地类(9.8),
函数名是非限定的,并且
该函数具有命名空间作用域。
这样的函数是隐式内联的。中定义的友元函数
类位于的(词汇)范围内
在其中定义它的类。A.
在外部定义的友元函数
类别不是(3.4.1)
由于类定义可能在头文件中,因此函数将被多次定义,因此它需要是内联的
struct Y
{
friend void friend_f() {} //is friend_f inline?
};