为什么在C中不允许使用整数成员变量(不是const static)的初始化?

前端之家收集整理的这篇文章主要介绍了为什么在C中不允许使用整数成员变量(不是const static)的初始化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的C编译器抱怨当我尝试在类定义中初始化一个int成员变量.它告诉“只有静态常量整数数据成员可以在类中初始化”.你能否解释这个限制背后的理由(如有可能的话).

解决方法

理由是C的“低级”性质.如果这样做,编译器将需要为开发人员不完全清楚的所有构造函数生成初始化代码.

毕竟,即使没有显式调用基类构造函数,也可能需要初始化构造派生类的基类成员.

静态const积分变量不需要在创建对象时进行激励.

猜你在找的C&C++相关文章