C++11给Non-static Data Member赋值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25327609/article/details/89373967
class Widget 
{
  private: 
  int x{ 0 }; // fine, x's default value is 0 
  int y = 0; // also fine 
  int z(0); // error! 这会与函数声明冲突
};
这里的一个背景是C++11允许了类在声明的时候直接给Non-static Data Member复值。
而在C++98,你要这样做的话是需要限制为const static int,若你在C++98可以赋予给const static double等类型,那属于编译器扩展,而非C++标准。

参考资料

猜你喜欢

转载自blog.csdn.net/qq_25327609/article/details/89373967