簡體   English   中英

命名結構與未命名結構的類型別名

[英]Named struct vs. type alias for an unnamed struct

在C ++中,它在語義上等同於具有命名結構

struct S { int x; };

與未命名結構的類型別名

using S = struct { int x; }

使用S的第一個版本或第二個版本是否有任何差異,或者這些變體是否可以完全互換? 或者某些編譯器很可能與第二個版本有問題?

帶有該上下文的using關鍵字是在C ++ 11中引入的,這意味着使用C ++ 98標准的舊編譯器將無法編譯它。

您也無法轉發聲明您的結構。

因此,不是它們不是100%等價的; 但在某些情況下,使用可以取代通常的聲明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM