Redian新闻
>
one question about initializaiton list
avatar
one question about initializaiton list# Programming - 葵花宝典
c*g
1
one statement said "The compiler iterates over the initialization list, inse
rting the initializations in the proper order within the constructor prior t
o any eplicit user code"
That's is to say, some codes are inserted to the constructor.
So why initialization list is much more efficient than constructor? just
avoid assignment operator?
What does "insert" here mean?
avatar
w*n
2
We can think the execution of constructor as 2 phase:
1) an implicit or explicit initialization phase
2) a general computation phase.
class A
{
public:
A();
private:
string _str;
double _a;
}
A::A()
{
_str = "";
_a = 0.0;
}
Here, before the A() is executed, the default string constructor is used for
_str implicitly. This means _str = "" is unnecessary.
A member class object should always be initialized in the member
initialization list.

inse
t

【在 c***g 的大作中提到】
: one statement said "The compiler iterates over the initialization list, inse
: rting the initializations in the proper order within the constructor prior t
: o any eplicit user code"
: That's is to say, some codes are inserted to the constructor.
: So why initialization list is much more efficient than constructor? just
: avoid assignment operator?
: What does "insert" here mean?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。