CR的代码文本

all for learning about the world
  订阅 订阅  :: 管理

参数值传递的本质

Posted on 2010-11-02 15:17  mumuliang  阅读(248)  评论(0编辑  收藏  举报
对于内部类型和没有自定义拷贝构造函数的用户自定义数据类型,当它们作为值传递参数时,编译器会使用位拷贝的方式来完成新数据对象的建立。对于内部类型这倒没什么,但对于用户自定义数据类型,位拷贝代替了一个新对象的真正的初始化过程,很明显会引起错误的。一个简单的例子就是一个具有对自身数据类型对象进行计数的类(在构造函数中累计)。因为没有进行真正的初始化,也就是没有调用真正的初始化函数,那么这个计数值也就不会加一。(说的够清楚了吧)