c++ - 标准在哪里指定在类中定义的函数是内联的?
问题描述
据我了解,在类定义中定义的成员函数是隐式的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
涉及)。
我找对地方了吗?如果不是,那么确切的标准措辞是什么以及在哪里?
解决方案
也许看看关于,好吧,的部分inline
。
[dcl.inline]/4:
在类定义中定义的函数是内联函数。
这实际上在稍后重复,在关于成员函数的部分(这似乎也很明智!):
[class.mfct]/1:
成员函数可以在其类定义中定义,在这种情况下,它是一个内联成员函数[..]
推荐阅读
- spring - SuccessAuthentication 中的 AbstractAuthenticationProcessingFilter 链
- python - 如何修复:无法将关键字“用户”解析为字段。选项有:description、end_time、id、start_time、title Django 错误
- c++ - 在 C++ 中不调用默认构造函数
- google-cloud-platform - 与 Samba 共享安装了 Google Fuse 的驱动器
- java - 如何修复“cvc-complex-type.2.4.c:匹配的通配符是严格的,但找不到元素 'tx:annotation-driven' 的声明。”
- root-framework - 使用 CERN ROOT 的 ntuple 直方图
- python-3.x - 无法使用 PRAW API 提交帖子
- python - 调用消息列表时的Gmail API socket.timeout
- python - 在 Python 中对文件进行多处理,然后将结果写入磁盘
- python - 观察变量何时被删除