gpt4 book ai didi

c++ - const 引用变量的生命周期未延长

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:56 32 4
gpt4 key购买 nike

将临时变量绑定(bind)到 const 引用可延长其生命周期;比照。 GotW #88 .

为什么这不适用于此代码段?直播here .

#include <iostream>
#include <string>

struct A {
A() : s("abc") {}
const std::string& s;
};

struct B {
const std::string& s = "def";
};

int main() {
A a;
std::cout << a.s << std::endl;
B b;
std::cout << b.s << std::endl;
}

奖励问题:如何使用 gcc 触发警告?

最佳答案

在您链接到的文章中,您会发现:

(Note this only applies to stack-based references. It doesn’t work for references that are members of objects.)

这就是为什么 ab 中的引用无效的原因。它们不会延长临时工的生命周期。

关于c++ - const 引用变量的生命周期未延长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33951129/

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