为什么类成员必须声明为const
在构造函数初始值设定项列表中而不是在构造函数主体中初始化?
两者有什么区别?
在 C++ 中,当执行进入构造函数主体时,对象被视为完全初始化。
你说:
“我想知道为什么 const 必须在构造函数初始值设定项列表中而不是在其主体中初始化?”
你所缺少的是初始化发生在初始化列表中,并且任务发生在构造函数的主体中。逻辑步骤:
1)const对象只能被初始化。
2) 一个对象的所有成员都在初始化列表中初始化。即使您没有在那里显式初始化它们,编译器也会很乐意为您这样做:-)
3) 因此,将 1) 和 2) 放在一起,const 成员只能在初始化时分配一个值,这发生在初始化列表期间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)