gpt4 book ai didi

c++ - 通过在另一个类中引用返回一个类对象

转载 作者:行者123 更新时间:2023-11-30 01:09:46 25 4
gpt4 key购买 nike

#include <stdio.h>
class A {
public:

int getX() { return x; }
private:
int x;
};

class B {
public:
A& getA () {return a;}
private:
A a;
};

int main() {
B* b = new B;
if(b) {
b->getA().setX(10);
printf("\n Value is %p",&(b->getA()));
b->getA().setX(5);
}
return 0;
}

上面的代码有没有问题,getA() 有没有返回 NULL pointer 或 invalid pointer 的情况。如果是,什么是有效检查?

最佳答案

引用不能为空。测试或检查 null 是多余的。你的编译器已经这样做了。它只会让懂该语言的人感到困惑。

(显然这是 C++,您可以将任何值放入任何内存位置,但如果其他人正在操纵您的内存,检查 null 引用对您没有帮助。)

关于c++ - 通过在另一个类中引用返回一个类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465075/

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