initializer_list immutable nature leads to excessive copying
问题 Why does the access to std::initializer_list not allow us to change its content? It's a big disadvantage of std::initializer_list when using it for its main purpose (to initialize a container), since it's use leads to excessive copy-construction/copy-assignment, instead of move-construction/move-assignment. #include <initializer_list> #include <iostream> #include <vector> #include <cstdlib> struct A { A() = default; A(A const &) { std::cout << __PRETTY_FUNCTION__ << std::endl; } A(A &&) { std