C++中的引用类型也是POD类型吗?
是int&
是POD类型吗?那么呢
struct Q { int& i; }
有人可以帮助我吗?
No.
设置引用某些内容的成员的唯一方法是通过用户声明的构造函数,因此,您的结构是非 POD 的。
Update:
答案仍然是否定的。
C++03 标准规定“POD 结构是一个聚合类,它没有非 POD 结构、非 POD 联合(或此类类型的数组)或引用类型的非静态数据成员,并且...“(C++03 标准第 9 节第 5 段)。
在 C++11 中,POD 结构体“是一个既是普通类又是标准布局类的类,并且...“和一个标准布局类”没有非标准布局类(或此类类型的数组)类型的非静态数据成员或引用“(C++11 标准第 9 节第 6-9 段)。
我解析那些以“或引用”结尾的短语,立即表示 POD 类不能包含任何引用类型的非静态数据成员。 “或引用”之前缺少逗号确实让位于其他解释(例如,它是对非 POD 类的引用,这使得引用不好,而不是引用per se),但我坚持我的解释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)