是在C ++ 11中引入的类的非静态数据成员的内联初始化? c ++ 11,不允许使用Inline初始化器在类声明中直接初始化非静态数据成员。但是,现代编译器现在接受此类内联初始化器。 ...

问题描述 投票:0回答:1
从我的理解中,C ++ 11允许对非静态成员进行内联初始化,并且当构造函数未明确分配值时,使用这些初始值。此功能是否在C ++ 11之前完全不允许?这种变化背后的历史原因是什么?

对于静态成员,不允许使用直列初始化器,例如早期和C ++11.

向前探索专家的见解。谢谢!

在C ++11

之前完全不允许此功能

c++ c++11 initializer-list non-static
1个回答
0
投票
您可以阅读
提案

为为什么添加它的建议,包括为什么不允许

()
初始评估者。

对于静态成员,不允许使用直列初始化器,例如早期和C ++11.

仅是可变的静态成员。 static const

数据成员自C ++98
以来就可以具有初始评估器

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.