是在类中自动内联定义的一个friend函数吗

是在类中自动内联定义的一个friend函数吗

本文介绍了是在类中自动内联定义的一个friend函数吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果在类中定义了成员函数,它是一个内联函数。例如

If a member function is defined inside the class, it is an inline function. E.g.

struct X
{
   void mem_f() {} //mem_f is inline
};

我的问题是类中定义的非成员友元函数是否也自动内联。

My question is whether a nonmember friend function defined inside the class is also automatically inline.

例如

struct Y
{
   friend void friend_f() {} //is friend_f inline?
};

标准中的相关报价/ paragraph_no将受到欢迎。谢谢。

A relevant quote/paragraph_no from the standard would be much welcome. Thanks.

推荐答案

是的,是的。 §11.4/ 5:

Yes, it is. §11.4/5:

可能在头文件中,函数将被乘法定义,因此需要 inline

Since the class definition is presumably in a header file, the function will be multiply-defined, so it needs to be inline.

这篇关于是在类中自动内联定义的一个friend函数吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 10:58