移動語意與initializer_list
在C中,一個initializer_list
考慮以下程式碼片段:
#include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // Allowable? } }
答案:
不幸的是,將元素移出initializer_list
這個偏差源自於以下事實:initializer_list
此限制背後的原因可能是允許編譯器初始化initializer_list
儘管如此,已經提出了對 C 標準的擬議擴展解決此限制並允許initializer_list
以上是可以從 C `initializer_list` 中移動元素嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!