共用方式為


匿名類別類型

類別可以是匿名的,也就是說,類別可以不使用 identifier 宣告。 這種用法在您將類別名稱取代為 typedef 名稱時很實用,如下所示:

typedef struct
{
    unsigned x;
    unsigned y;
} POINT;
注意事項注意事項

上述範例中的匿名類別用法對於保留與現有 C 程式碼的相容性而言很實用。在某些 C 程式碼中,使用 typedef 搭配匿名結構的情況相當普遍。

另外,當您想要讓類別成員的參考出現,就像該參考不是包含在另一個類別中一般時,匿名類別也相當實用,如下所示:

struct PTValue
{
    POINT ptLoc;
    union
    {
        int  iValue;
        long lValue;
    };
};

PTValue ptv;

在上述程式碼中,iValue 可以使用物件成員選取運算子 (.) 存取,如下所示:

int i = ptv.iValue;

匿名類別會受到某些限制 (如需匿名等位的詳細資訊,請參閱等位)。匿名類別:

  • 不能具有建構函式或解構函式。

  • 不可做為引數傳遞至函式 (除非使用省略符號讓類型檢查失敗)。

  • 不可做為函式的傳回值傳回。

請參閱

參考

定義類別類型