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