随笔 - 62  文章 - 96  trackbacks - 0
<2006年6月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(7)

随笔分类(66)

随笔档案(62)

文章分类(31)

文章档案(32)

友情链接

最新随笔

积分与排名

  • 积分 - 233522
  • 排名 - 108

最新评论

阅读排行榜

评论排行榜

创建对象的几种方式的效率比较

这里以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 阅读(477) 评论(1)  编辑 收藏 引用 所属分类: C++之路

FeedBack:
# re: 《C++ Primer》之读书笔记二 2006-08-15 21:04 踏雪赤兔
据我了解,第一种用法是没有创建临时对象的。
string str1="";
调用的是string(char*)这个constructor  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理