首頁 > 後端開發 > C++ > 如何在 C 中初始化成員初始化列表中的陣列?

如何在 C 中初始化成員初始化列表中的陣列?

Patricia Arquette
發布: 2024-11-13 11:52:02
原創
668 人瀏覽過

How to Initialize Arrays in Member Initializer Lists in C  ?

數組成員的初始值設定項清單

由於嘗試使用以下方式初始化成員初始值設定項列表中的數組,提供的程式碼片段無法編譯以下語法:

`

C() : arr({1,2,3}) <br>{}<br>// 也無法編譯<br>C() : arr{1,2,3} <br>{}
登入後複製
`

這是因為C 03 中的陣列只能使用賦值運算子初始化,例如int arr[3] = {1,3,4}.

使用結構體:
提供的程式碼可以透過使用結構體包裝陣列並在建構函式中初始化它來修復,如下所示如下:

`

 int arr[3];<br> ArrayWrapper() : arr{1,2,3} {}<br>};<br>
登入後複製
`

使用C 11 清單初始化:
在C 11中,您可以使用清單初始化來初始化成員初始值設定項目清單中的陣列:

`

 int arr[3];<br> ArrayWrapper() :到達{1, 2, 3 } {}<br>};<br>
登入後複製
`

標準合規性:

C 03 標準中未明確解決該行為,但這是聚合初始化必須使用賦值運算子的規則的推論。

C 11 澄清:
C 11 明確允許使用列表初始化來初始化成員初始值設定項清單中的陣列。

以上是如何在 C 中初始化成員初始化列表中的陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板