如果成员函数定义在类内部,则它是内联函数。例如。
struct X
{
void mem_f() {} //mem_f is inline
};
我的问题是类内部定义的非成员友元函数是否也自动内联。
E.g.
struct Y
{
friend void friend_f() {} //is friend_f inline?
};
标准中的相关引用/段落编号将非常受欢迎。谢谢。
是的。 §11.4/5:
可以在友元中定义函数
声明一个类当且仅当
该班级是非本地班级(9.8),
函数名称是非限定的,并且
该函数具有命名空间范围。这样的函数是隐式内联的。友元函数定义于
一个类在(词法)范围内
定义它的类。 A
在外部定义的友元函数
类不是(3.4.1)。
由于类定义可能位于头文件中,因此该函数将被多重定义,因此需要inline
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)