设为首页 加入收藏

TOP

effectiveC++(十一)(二)
2010-12-26 23:07:28 来源: 作者: 【 】 浏览:4149
Tags:effectiveC 十一
说就是逐位拷贝。赋值的结果如下所示:

a:  data --------> "hello\0"
            /
b:  data --/       "world\0"

这种情况下至少有两个问题。第一,b曾指向的内存永远不会被删除,因而会永远丢失。这是产生内存泄漏的典型例子。第二,现在a和b包含的指针指向同一个字符串,那么只要其中一个离开了它的生存空间,其析构函数就会删除掉另一个指针还指向的那块内存。

string a("hello");                 // 定义并构造 a

{                                  // 开一个新的生存空间
  string b("world");               // 定义并构造 b

  ...

  b = a;                           // 执行 operator=,
        &n

首页 上一页 1 2 3 4 5 下一页 尾页 2/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇effectiveC++(十二) 下一篇effectiveC++(十)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: