本文介紹了在這種特定情況下,使用成員初始值設定項列表和在構造函數中賦值之間有區別嗎?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
內部和關于生成的代碼,是否真的有區別:
Internally and about the generated code, is there a really difference between :
MyClass::MyClass(): _capacity(15), _data(NULL), _len(0)
{
}
和
MyClass::MyClass()
{
_capacity=15;
_data=NULL;
_len=0
}
謝謝...
推薦答案
假設這些值是原始類型,那么不,沒有區別.初始化列表僅在您將對象作為成員時才起作用,因為初始化列表讓您將對象初始化為其最終值,而不是使用默認初始化和賦值.這實際上可以明顯更快.
Assuming that those values are primitive types, then no, there's no difference. Initialization lists only make a difference when you have objects as members, since instead of using default initialization followed by assignment, the initialization list lets you initialize the object to its final value. This can actually be noticeably faster.
這篇關于在這種特定情況下,使用成員初始值設定項列表和在構造函數中賦值之間有區別嗎?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!