标准在哪里指定类内定义的函数是内联的?

问题描述 投票:3回答:2

据我所知,在类定义内定义的成员函数是隐式inline

class X {
  int f() { return 1; } // Implicitly inline.
};
int g() { return 2; } // Not implicitly inline.

我一直在寻找标准报价来支持这一点,但是我只能找到basic.link/7

[另外,成员函数,静态数据成员,类作用域的命名类或枚举,或在类作用域typedef声明中定义的未命名类或枚举,以使该类或枚举具有用于链接目的的typedef名称( [dcl.typedef])与它所属的类的名称具有相同的链接(如果有)。

我找不到dcl.typedef中与简单类定义相关的任何内容(没有涉及typedef

我在找对地方了吗?如果没有,确切的标准措辞在哪里?

据我所知,在类定义内定义的成员函数是隐式内联的:class X {int f(){return 1; } //隐式内联。 }; int g(){return 2; } //不是隐式的...

c++ language-lawyer member-functions one-definition-rule
2个回答
5
投票

也许在inline部分中查找。 🤪


4
投票
© www.soinside.com 2019 - 2024. All rights reserved.