![]() |
1
3
不,在书堆上,但是读一下 answer 通过 Useless 为什么术语 堆栈 和 堆 不是最好的选择。
1b.你打电话的时候会收到副本
2。它在创建后立即被销毁,因为它只存在于
3a.只要有一个有效的实例,并且希望将其传递给函数而不创建副本,就使用引用。具体来说,函数应该有一个引用参数。
3b.你应该使用
正如所指出的
Steven W. Klassen
在注释中,您最好的选择是注释掉的代码:
|
![]() |
2
4
首先,请 read this 解释为什么最好谈谈 自动的 和 动态 对象生存期,而不是堆栈/堆。
其次,该对象既不是动态分配的,也不是堆上的。因为动态分配使用
你是按价值返回某物,所以这东西的生命周期绝对是自动的。
如果编写完整的复制/移动构造函数和赋值运算符集,再加上一个析构函数,则只需在调试器中设置断点,然后
看见
在那里被调用。或者,让他们全部打印
然而,由于我们知道对象是自动的,所以当它超出范围时,答案是容易的。
当然是第二个:第一个返回对对象的引用,对象的自动生存期在
最后,这个代码
很奇怪-很难确定
或者直接通过临时通道
作为旁白,设计
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |