如何用相同的构造函数参数初始化所有元素或std::array?
- 内容介绍
- 文章标签
- 相关推荐
本文共计591个文字,预计阅读时间需要3分钟。
我想要知道是否可以使用隐式删除的默认构造函数初始化对象数组,而不知道数组的大小,因为它是模板参数,因此失去了使用初始化列表表的可能性。代码如下,它打破了调用隐式删除的规则:
cppstd::vector objects; // std::object 是一个模板参数
这段代码的问题在于,由于`std::object`是一个模板类型,编译器无法确定其具体类型,因此无法为其成员调用默认构造函数来初始化`std::vector`。这导致初始化列表无法使用,进而导致对象数组无法被正确初始化。
本文共计591个文字,预计阅读时间需要3分钟。
我想要知道是否可以使用隐式删除的默认构造函数初始化对象数组,而不知道数组的大小,因为它是模板参数,因此失去了使用初始化列表表的可能性。代码如下,它打破了调用隐式删除的规则:
cppstd::vector objects; // std::object 是一个模板参数
这段代码的问题在于,由于`std::object`是一个模板类型,编译器无法确定其具体类型,因此无法为其成员调用默认构造函数来初始化`std::vector`。这导致初始化列表无法使用,进而导致对象数组无法被正确初始化。

