草庐IT

theRadius

全部标签

c++ - 在 C++ 中对构造函数使用初始值设定项有什么好处?

Sphere():theRadius(1.0){}为什么用初始化器编写的构造函数(上图)比在其主体中初始化数据成员的构造函数(下图)更可取?Sphere(){theRadius=1.0;} 最佳答案 所有成员在进入构造函数主体之前都已初始化。如果您没有在初始化列表中提供初始化程序,那么它们是默认构造的。在您的第一个示例中,发生了以下情况:theRadius初始化为1.0在您的第二个示例中,发生以下情况:theRadius已初始化1.0被复制到theRadius对于像整数和float这样的简单类型,这无关紧要。但是,如果您的成员是具有