c – 以下例子给出的结构有什么不幸?

c – 以下例子给出的结构有什么不幸?,第1张

概述“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 referenceA “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 referenceA a2(1); // OK,unfortunately

关于这个例子最后一行的构造有什么不幸?

我在整个参考文献中搜索了其他可能发生的“不幸”行为,但我找不到.

如果在这种特殊情况下不幸,那么它是否可能被视为非法?

解决方法 在这两种情况下,A :: v都是悬空引用(临时从42,或构造函数的参数v).

引用临时(即使延长寿命)可能是合法的,并且在某些情况下可以正确使用.

很难发现所有滥用案件都禁止他们.

总结

以上是内存溢出为你收集整理的c – 以下例子给出结构有什么不幸?全部内容,希望文章能够帮你解决c – 以下例子给出的结构有什么不幸?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1212075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存