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

常用链接

留言簿(3)

随笔分类(66)

随笔档案(62)

文章分类(31)

文章档案(31)

友情链接

最新随笔

积分与排名

  • 积分 - 41482
  • 排名 - 64

最新评论

阅读排行榜

评论排行榜

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

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

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

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]

相关链接:
网站导航: