gpt4 book ai didi

c++ - 与返回引用而不是指针相关的限制

转载 作者:行者123 更新时间:2023-11-28 00:29:24 24 4
gpt4 key购买 nike

<分区>

指针返回和引用返回有什么区别?在这两种情况下,地址都会返回给调用者,对吗?

根据这个小程序 - 它显然是相同的 - 它打印一个整数的值。

关于通过引用返回而不是通过指针返回有任何限制吗?我的老师告诉我们 - 当您通过引用返回接收者时,接收者“借用”了该对象。另一方面,当您返回一个指针时 - 您将对象的所有权“转移”给接收者。

#include <iostream>
using namespace std;

class A {
int x;

public:
A() : x(10) { }

void print() {
cout << "x = : " << x << endl;
}

};

class B {
int y;

public:
B() : y(30) { }

void print() {
cout << "x = : " << y << endl;
}

A& create() {
A* a = new A;
return *a;
}
};

通过指针返回,然后我改的这部分代码:

A* create() {
A* a = new A;
return a;
}

主要是:

 b.create()->print();

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com