雖然我一直在尋找的C++例子http://en.wikipedia.org/wiki/Delegation_pattern我發現了一些我沒有見過:
C() : i(new A()) { }
我問題是:這行代碼如何與以下任何不同:
C() {
i = new A();
}
構造函數之後的:
做什麼? new A()
附近的括號是做什麼的?
雖然我一直在尋找的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