gpt4 book ai didi

c++ - 命名结构与未命名结构的类型别名

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

在 C++ 中,它在语义上是否等同于具有命名结构

struct S { int x; };

对比未命名结构的类型别名

using S = struct { int x; }

?

使用 S 的第一个或第二个版本是否有任何差异,或者这些变体是否完全可以互换?还是某些编译器很可能对第二个版本有问题?

最佳答案

在 C++11 中引入了具有该上下文的 using 关键字,这意味着使用 C++98 标准的旧编译器将无法编译它。

您也将无法转发声明您的结构。

因此,不,它们不是 100% 等效的;但在某些情况下,using 可以代替通常的声明。

关于c++ - 命名结构与未命名结构的类型别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48559117/

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