鱼C论坛

 找回密码
 立即注册
查看: 2664|回复: 5

关于C++中的复制控制

[复制链接]
发表于 2012-6-10 16:37:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我知道如何定义,但是对于应用地方还不是很熟悉
看《C++ Primer》中的例子,好晕,小甲鱼有没有类似的视频可以学习下?

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-10 21:46:23 | 显示全部楼层
说的是复制构造函数吗?
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-6-11 08:24:27 | 显示全部楼层

复制构造函数,赋值操作符,析构函数这3个
定义我倒知道怎么弄,但对于用途还是蛮迷糊的,不知道什么时候该用。像书上的"消息处理示例",基本没思路啊
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-13 10:04:58 | 显示全部楼层
构造函数是初始化对象,赋值操作符是把已有的对象赋值(“=”)给另一个对象;
如果构造函数使用了new来初始化成员变量,就需要在析构函数中加上delete销毁成员变量;
搞清楚“深复制”和“浅复制”的概念区别,如果类成员有指针变量,比如指针数组,浅复制只是简单复制指针的地址值,这没有意义,就需要进行深复制,把数组内容全部复制过来。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-6-13 20:12:26 | 显示全部楼层
构造函数是初始化对象
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-6-14 08:36:50 | 显示全部楼层
梦想飞扬 发表于 2012-6-13 10:04
构造函数是初始化对象,赋值操作符是把已有的对象赋值(“=”)给另一个对象;
如果构造函数使用了new来初 ...

也就是说,如果你的类不包含指针的话,就让编译器自己为你合成一个。如果有指针的话,就得自己写复制构造函数?
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-13 16:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表