G.R*_*sky 15 c++ constexpr c++11
我知道c ++ 11允许使用constexpr为编译时而不是运行时指定表达式.
我知道这也可以用于类的构造函数.但是,此构造函数必须初始化类的所有成员,以便用作constexpr(在编译时),并且它调用的任何函数也应标记为constexpr.
但是什么时候会将他的构造函数设置为constexpr,除了轻微优化之外还有其他任何好处吗?
这是否意味着,如果我可以,我应该总是将我的构造函数设置为constexpr?
Mik*_*our 14
通过创建构造函数constexpr,您允许用户创建constexpr对象,并在他们自己的常量表达式中使用它们.这使得该课程在某些情况下更友好; 例如,为嵌入式系统编程时,如果可能,要将数据放入只读存储器中.
因此,从使课程尽可能灵活且通常有用的角度来看,如果可以的话,你应该这样做.