首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

memcpy 怎样复制类?该怎么处理

2012-03-15 
memcpy 怎样复制类?举个例子学习一下[解决办法]class CC cC *pcpc (C&)malloc(sizeof(C))memcpy(pc,

memcpy 怎样复制类?
举个例子学习一下

[解决办法]
class C;
C c;
C *pc;
pc = (C&)malloc(sizeof(C));
memcpy(pc, &c, sizeof(C));
[解决办法]
pc=(C*)malloc(sizeof(C));
[解决办法]
不要使用memcpy 来复制类,多数时候会死的很惨的。
[解决办法]
在你不熟悉这个类的中构造函数实现的时候,用这种方法克隆一个类的对象是十分不明智的做法。
如果你要复制的类中存在一个静态成员变量static修饰,并且在构造函数中对该变量进行了操作,那么你最这个类的对象进行复制就已经突破了类的安全保护。
如果这个静态变量又非常重要,后面你的程序就很可能飞起了。。。
[解决办法]
最好的方式是自己写一个拷贝构造函数或者拷贝赋值操作符。

可以参考:
C++类中的4个特殊函数 - 缺省构造函数、拷贝构造函数、拷贝赋值操作符和析构函数
里面的例子

热点排行