社区
Java SE
帖子详情
谁学过C++,我问个clone的问题
谁学逆向工程
2016-08-05 12:10:49
从C++的角度对比一下 Java 的 clone。
Java的浅复制是复制指针?然后两个指针指向同一个地址?
Java的深复制是 operator =(指针) 这种?重载复制运算符?然后接收一个指针的参数?
Java的深复制是不是这个思路:
void * operator=(void* t)
{
void* p= new 某某;
p->成员 = t->成员;
return p;
}
...全文
127
3
打赏
收藏
谁学过C++,我问个clone的问题
从C++的角度对比一下 Java 的 clone。 Java的浅复制是复制指针?然后两个指针指向同一个地址? Java的深复制是 operator =(指针) 这种?重载复制运算符?然后接收一个指针的参数? Java的深复制是不是这个思路: void * operator=(void* t) { void* p= new 某某; p->成员 = t->成员; return p; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sky_08_06_02
2016-08-21
打赏
举报
回复
get it
oh_Maxy
2016-08-05
打赏
举报
回复
clone就是完全的复制,包括内存空间都复制一份。 比如a对象clone产生b对象,此时对b的操作,不会影响a。 这里要注意的是,如果a对象里有一个对象的引用,比如a.k 属性是一个自定义对象,此时对a的clone,不会将a.k所指向的内存也clone的,只会clone一个k的索引。这时候b.k的操作,会影响a.k的内容。
Freefish1994
2016-08-05
打赏
举报
回复
浅复制也不是复制指针吧。。是在堆空间里新建一个和原来对象大小一样的空间,将属性复制过去,两个引用指向两个地址
Clone
函数
在
C++
中,要拷贝一个对象,除了自定义一个拷贝构造函数来实现对象复制外,还可以实现一个
clone
函数。这需要借助编译器实现的一个隐藏拷贝构造函数,这样的做法,更省心。背后的原理是
C++
的原型(Prototype)模式:用...
C++
学习路线:从基础到精通
从基础语法到面向对象,掌握STL与内存管理,进阶模板与多线程,实战项目提升能力,持续学习新标准与优秀代码,成为
C++
高手。
Object类的
clone
方法
Object类的
clone
方法 Object是所有类的基类,当你没有显示extends一个父类时,编译期会自动为你加上一个Object类。 这是一个native方法,说明这个方法的实现不是在java中,而是由C/
C++
实现,并编译成.dll文件,由...
Opencv视觉处理(
C++
)语法学习(2)图像对象的创建及其参数说明
2.如何遍历Mat对象中包含的每一个元素 3.如何创建一个空图或者Mat 创建Mat对象的方法 1.
clone
()函数调用 src=img.
clone
(); 2.直接赋值法 src=ming; 3.拷贝API调用 img.copyTo(dst); 创建空白图像的方法 Mat ...
opencv图像处理学习(六十一)——
clone
与copyto
在
C++
中,函数的参数,传值、传引用、传指针是有区别的,具体如下: #include<iostream> #include <iomanip> using namespace std; void test1(int a) { a = a + 1; } void test2(int &a) { a ...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章