- 博客(2)
- 收藏
- 关注
原创 深拷贝运用
c++编译器会给类添加2个函数:默认拷贝构造函数,对属性进行值拷贝。赋值运算符operator=,对属性进行值拷贝。默认拷贝构造函数可以实现对象的拷贝,如point p1(p2);而赋值运算符函数可以实现对象的赋值,如p1=p2。但对于浅拷贝(系统给的)来说,如果两个对象的成员变量是在堆中申请的空间,在拷贝和赋值的时候都会将地址拷贝或赋值给另一个对象,导致释放这2个对象中的堆空间时造成多次对同一块堆空间释放,要解决这一问题我们需要深拷贝来解决。利用自定义拷贝构造函数实现深拷贝:
2022-10-23 16:46:44 363 1
原创 c语言创建二维数组的三种方法及分析
分享一下对二维数组的一些见解。首先看第一种最常见最简单的创建方法,运行结果如下。1、因arr1【0】【2】与arr1【1】【0】的地址相差一个int类型,就是4字节,因此二维数组本质上是一维数组。2、其中arr1【0】【j】可把arr【0】看做一个一维数组名,j就代表第一行的1,2,3个元素,因此arr【0】是首行首个元素的地址。同理可得arr1【1】是第二行首个元素的地址。3、arr1是整个二维数组的数组名,代表的是首行元素的地址,对第一行的地址解引用后得第一行首元素地址,则*a
2022-10-16 17:19:45 5205 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人