gpt4 book ai didi

c++ - C++ 中的引用类型是 POD 类型吗?

转载 作者:可可西里 更新时间:2023-11-01 17:10:24 28 4
gpt4 key购买 nike

C++ 中的引用类型也是 POD 类型吗?int& 是 POD 类型吗?那么

struct Q { int& i; }

谁能帮帮我?

最佳答案

没有。

设置引用某物的成员的唯一方法是通过用户声明的构造函数,因此,您的结构是非 POD。

更新:
答案仍然是否定的。

C++03 标准规定“POD 结构是一个聚合类,它没有非 POD 结构、非 POD union (或此类类型的数组)类型的非静态数据成员) 或引用,以及 ...”(C++03 标准第 9 节第 5 段)。

在 C++11 中,POD 结构“是一个既是普通类又是标准布局类的类,并且......”和标准布局类“< em>没有类型为非标准布局类(或此类类型的数组)或引用的非静态数据成员”(C++11 标准第 9 节第 6-9 段)。

我将那些以“或引用”结尾的短语解析为立即表示 POD 类不能包含任何引用类型的非静态数据成员。 “或引用”之前缺少逗号确实让位于其他解释(例如,它是对非 POD 类的引用,这使得引用变得糟糕,而不是引用本身),但是我坚持我的解释。

关于c++ - C++ 中的引用类型是 POD 类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144007/

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