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