![]() |
1
7
类型的对象
编辑 我认为,有些混淆是由于“转换”和“转换”这两个词的使用不当造成的。 与可以重新分配的对象不同,引用不能被反弹,因此在引用的上下文中,当我们谈到转换时,我们只关心初始化一个新的引用。 引用总是绑定到一个对象,从OP的问题可以很明显地看出,他希望得到一个直接绑定到现有对象的引用。仅当用于初始化引用的对象是 引用兼容 引用的类型。本质上,只有当类型相同,或者对象的类型是从引用的类型派生的,并且引用类型至少与初始化对象的cv相同时,才需要这样做。特别是,指向不同类型的指针与引用不兼容,不管指向类型的关系如何。 在其他情况下,可以使用可转换为引用类型的内容初始化引用。但是,在这些情况下,引用必须是const而不是volatile,并且转换将创建一个临时的引用,并且引用将绑定到这个临时对象而不是原始对象。正如所指出的,这不适合OP的激励例子的要求。
综上所述,A
|
![]() |
2
4
但是这样你就不能做太多了。
我强烈建议你在标准C++ 98模式下运行下面的程序,一次一次,一次又一次。
|
![]() |
3
1
您可以转换
这不是问题
这不是
|
![]() |
4
0
类型*&是类型**的另一种语法形式,父级*&和子级*&以及父级**和子级**彼此不相关-它们是不同的类型,不在一个类层次结构中。 |
![]() |
5
0
因为德克提到的原因,这行不通。如果您真的需要一个removeobj方法,那么我将把您新分配的子对象保存为父对象*:
|
![]() |
daniel451 · 从源代码编译Python:多线程测试? 7 年前 |
![]() |
mbalug · 为ARM编译c++源代码 7 年前 |
![]() |
SuzLy · 使用flex编译简单令牌标识符 7 年前 |
|
user8659414 · Make无法识别我的库! 7 年前 |
![]() |
Farzad · 序列化CUfunction对象 7 年前 |
![]() |
Jersey · C++:何时需要重新编译有问题? 7 年前 |