我认为,当用于初始化Ts...
的类型std::initializer_list<T>
的对象可以用来简单地构造T
时,那么std::initializer_list<T>
就可以从{ {1}}是因为根据list initialization,Ts...
的每个元素都是std::initializer_list<T>
或direct_initialized
。
但是,我不确定我是否正确,所以我发布了此信息。
答案 0 :(得分:3)
这个问题本身没有道理。也就是说,您要询问的是该属性根本不适用的操作是否存在该属性。
这6个特殊的成员函数(默认构造函数,复制/移动构造函数/赋值运算符和析构函数)可能是微不足道的。但是,这些是仅可能是琐碎的事情,对于这些术语“琐碎”具有明确的含义。
列表初始化不执行任何操作。至少不是直接。
列表初始化initializer_list
的过程包括创建一个临时数组,将braced-init-list中的值放入其中,并创建一个指向该数组的initializer_list
。这些都不是琐碎的操作,因此询问它们是否“琐碎”是没有道理的。