c++ 对象模型第一次阅读笔记

本文探讨了C++中对象模型的基本概念,包括非静态数据成员与静态数据成员的存储位置,以及构造语义学中的默认构造函数和复制构造函数的工作原理。特别关注复制构造函数在不同场景下的行为及类不展示位复制语义的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2010-11-13

 

 c++对象模型中,Nonstatic data members 被配置于每一个class object之内,static data members 则被存放在所有的class object之外。

static 和 nonstatic funtion members也被放在所有的class object 之外。

 

2010-11-27

构造语义学:

 

default constructor:

 

 

copy constructor的建构操作:

 

member class object  成员类对象

一个class object 可以从两种方式复制得到

1.初始化                   ----> 从概念上,以copy constructor 完成

 

2.被指定(assignment)  ------->从概念上,以copy assignment operator完成

 

一个class 不展出bitwise copy semantics时,有四种情况:

 

1.当一个class含一个member class object,而后者有一个copy constructor

2.一个class 的base class 有一个copy constructor

3.一个class 声明一个或多个virtual function

4.一个class 派生自一个继承链,其中有一个或多个virtual base class

 

 

关于书中说的NRV在vc6.0试验下,结果恰好相反。为什么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值