gpt4 book ai didi

c++ - 使用成员的地址来初始化基类是否合法?

转载 作者:太空狗 更新时间:2023-10-29 22:55:40 25 4
gpt4 key购买 nike

这段代码合法吗?:

class BaseClass
{
public:
BaseClass (int *p) : p_ (p) { }

private:
int *p_;
};

class SubClass : public BaseClass
{
public:
SubClass () : BaseClass (&i_), i_ (123) {}

private:
int i_;
};

众所周知,基类是在子类成员之前构造的,这就是我想知道的原因。

最佳答案

是的,这很好:虽然 SubClass::i 的(相关实例)的 lifetime 尚未开始,但它的存储存在,并且指向它可能会形成(虽然还没有 used for much)。

关于c++ - 使用成员的地址来初始化基类是否合法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50667106/

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