首頁 >後端開發 >C++ >如何在 C 中正確初始化 2D std::array ?

如何在 C 中正確初始化 2D std::array ?

DDD
DDD原創
2024-11-26 10:22:13476瀏覽

How to Correctly Initialize a 2D std::array in C  ?

了解2D std::array 初始化語法

嘗試初始化std::array<:array> 類型的2D 陣列時, 2>使用大括號,您可能會遇到錯誤。這是因為 std::array 是封裝 C 樣式陣列的聚合。為了正確初始化它,類別本身需要一個外括號對,而實際的 C 陣列需要一個內括號。

考慮以下範例:

std::array<int, 3> a1 = {{1, 2, 3}}; // Valid initialization of a 1D array

將此概念應用於二維陣列:

std::array<std::array<int, 3>, 2> a2 {
    {{ {1, 2, 3} }, { {4, 5, 6} }} // Correct initialization
};

在此範例:

  • 外部大括號{ } 包含整個類別初始化。
  • 內部大括號 { { } } 包含各個 C 陣列初始化。

正確範例中的附加大括號允許編譯器區分在類別初始化和所包含陣列的初始化之間。這會導致二維數組的正確編譯和初始化。

以上是如何在 C 中正確初始化 2D std::array ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:網路擷取下一篇:網路擷取