gpt4 book ai didi

c++ - 以下示例中给出的结构有什么不幸之处?

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

“15.6.2 初始化基和成员”(N4713)部分在第 11 项之后有以下示例:

struct A {
A() = default; // OK
A(int v) : v(v) { } // OK
const int& v = 42; // OK
};
A a1; // error: ill-formed binding of temporary to reference
A a2(1); // OK, unfortunately

示例最后一行的结构有什么不幸的地方?

我在整个引用资料中搜索了其他允许的“不幸”行为,但我一无所获。

如果在这种特定情况下不幸发生,是否可以不将其定为非法?

最佳答案

在这两种情况下,A::v 都是悬挂引用(临时来自 42,或构造函数的参数 v)。

在某些情况下,引用临时(即使延长了生命周期)可能是合法且正确使用的。

很难检测到所有滥用案例以禁止它们。

关于c++ - 以下示例中给出的结构有什么不幸之处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52147940/

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