C++初始化
问题描述:
虽然我一直在寻找的C++例子http://en.wikipedia.org/wiki/Delegation_pattern我发现了一些我没有见过:
C() : i(new A()) { }
我问题是:这行代码如何与以下任何不同:
C() {
i = new A();
}
构造函数之后的:
做什么? new A()
附近的括号是做什么的?
答
它被称为initialization list。它用于初始化类的数据成员。
C() {
i = new A(); // i is not initialized here, here assignment is taking place.
}
[类结构具有初始值]的可能重复(http://stackoverflow.com/questions/7207884/class-construction-with-initial-values)以及:http://stackoverflow.com/问题/ 4589237/c-initialization-lists – 2012-03-30 18:11:55
我不知道它叫什么,所以我不知道要搜索什么,抱歉重复,我会阅读您链接的主题。谢谢。 – karthaxx 2012-03-30 18:13:58