深复制与浅复制的简单学习笔记

本文探讨了数据结构在赋值操作中的深复制与浅复制概念,特别是对于包含指针成员的结构体,阐述了如何正确地进行复制以避免潜在的问题。

假设现在有如下的数据结构:

struct Data
{
char *data;
int size;
}

注意赋值运算符不能直接用于上述结构体的赋值,这主要是因为Data含有指针data,这个指针与两个空间有关,第一个是是指针本身的空间,第二个是它只想的动态数组空间,在复制中,我们要求这两个空间分别复制复制,称之为深复制


但是结构变量在赋值运算符下,对指针成员只能传递指针本身空间的值,不能复制指针指向的空间的值,我们称之为浅复制


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值