簡體   English   中英

什么時候std :: initializer_list可以構造?

[英]When is std::initializer_list trivially constructible?

我認為,當用於初始化std::initializer_list<T>的類型為Ts...的對象可用於平凡地構造T ,則從Ts...可以簡單地構造std::initializer_list<T> Ts...因為根據列表初始化std::initializer_list<T>每個元素都可以是direct_initializedcopy_initialized

但是,我不確定我是否正確,因此我發布了此信息。

這個問題本身沒有道理。 也就是說,您要詢問的是該屬性根本不適用的操作是否存在該屬性。

6個特殊的成員函數(默認構造函數,復制/移動構造函數/賦值運算符和析構函數)可能很簡單。 但是, 只有這些是微不足道的,“瑣碎”一詞具有明確的含義。

列表初始化不執行任何這些操作。 至少不是直接。

列表初始化initializer_list的initializer_list涉及創建一個臨時數組,將braced-init-list中的值放入其中,並創建一個指向該數組的initializer_list 這些都不是瑣碎的操作,因此詢問它們是否“瑣碎”是沒有道理的。

暫無
暫無

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

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