1
4
C++中的指针可用于聚合和合成。区别在于 noted by Douglas ,对象的生存期是否互连。换句话说:当父母被毁灭时,孩子是否也被毁灭了?答案是 对 代表合成, 不 用于聚合。 我们如何在C++代码中区分这些情况?C++中的指针可以表示另一个(动态创建的)对象的所有权,也可以只引用其他人拥有的对象。让我们在示例中显示差异。我将解释为什么指针对每种类型的关系都有用。 带指针的聚合
在这种情况下,只需向前声明
带指针的合成
最长的示例表明,我们可以动态创建和销毁
免责声明此示例是 Rule of three/five/zero . 我有意让用户来实现缺少的推荐方法,使这个答案方言不可知,并且尽可能简单。 无指针合成
无需手动编写构造函数和析构函数,只需声明
无指针聚合
完整地说,使用指针进行聚合的替代方法是使用引用。但是,这会阻止交换
|
Schadre · C-plus编码错误 2 年前 |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
amirreza870 · Python OOP-更改类文本 2 年前 |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |