創建對象的幾種方式的效率比較
這里以string類為例:
1、string str1 = "";
2、string str2 = string();
3、string str3;
第一種方式:調用string類接受字符串形參的構造函數,創建一個臨時對象。
然后調用復制構造函數用該對象初始化str1。
第二種方式:調用string類的默認構造函數,創建一個臨時對象。
然后調用復制構造函數用該對象初始化str2。
第三種方式:直接調用string類的默認構造函數初始化str3。
創建臨時對象的代價是高的。
因此創建對象應盡量不要使用會創建臨時對象的初始化方式。
在使用類時也盡量不要創建臨時對象。
posted on 2006-06-28 00:10
beyonlin 閱讀(485)
評論(1) 編輯 收藏 引用 所屬分類:
C++之路