对象之间赋值

2023-06-05 0 1,001

C++自修简化讲义 产品目录(必修课)

自订类类别

以基本上类别为例:

int a = 1; int b = 2;
对象之间赋值

【表达式的自主性】

从上图能看出表达式a和b在缓存里是互互相冲突的,每一表达式有她们的窝,用以放置表达式的值。

修正两个不会负面影响另两个,即便她们的值完全相同,也能指出是耐人寻味。

表达式表达式:

a = b;//将b的值表达式给a
对象之间赋值

【类第一类间表达式】

考量如下表所示的类类别:

struct Student { std::string name;//姓名 int age;//年龄 };

同普通int类别的表达式一样,类类别的表达式也就是类第一类也是互相独立的。

创建两个类第一类,她们间没有任何联系,她们的值如果完全相同纯属耐人寻味。

把两个类第一类a表达式给另两个类第一类b,会把a的所有成员逐个对应表达式给b。a仍然保留她们原来的值不变,b的每两个成员表达式的值和a的完全相同,但a和b各自有她们的窝,它们间依然没有任何联系。

就像按照邻居家的装修风格装修她们的家一样。看起来两套房间内部一样,实际上是两套房。

Student stu; stu.name = “张三”; stu.age = 18; Student stu2; stu2.name = “李四”; stu2.age = 28;

表达式之前,缓存布局如下表所示:

对象之间赋值

第一类间表达式:

stu = stu2;//这里会将stu2的所有成员表达式逐个表达式给stu的对应成员表达式

表达式之后的缓存布局:

对象之间赋值

以上就是第一类间的表达式。

能发现stu内部的值被覆盖了,用stu2的值覆盖了。此时stu和stu2依然互相独立,没有任何关系。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务