如何用相同的构造函数参数初始化所有元素或std::array?

2026-04-16 19:465阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计591个文字,预计阅读时间需要3分钟。

如何用相同的构造函数参数初始化所有元素或std::array?

我想要知道是否可以使用隐式删除的默认构造函数初始化对象数组,而不知道数组的大小,因为它是模板参数,因此失去了使用初始化列表表的可能性。代码如下,它打破了调用隐式删除的规则:

cppstd::vector objects; // std::object 是一个模板参数

这段代码的问题在于,由于`std::object`是一个模板类型,编译器无法确定其具体类型,因此无法为其成员调用默认构造函数来初始化`std::vector`。这导致初始化列表无法使用,进而导致对象数组无法被正确初始化。

阅读全文

本文共计591个文字,预计阅读时间需要3分钟。

如何用相同的构造函数参数初始化所有元素或std::array?

我想要知道是否可以使用隐式删除的默认构造函数初始化对象数组,而不知道数组的大小,因为它是模板参数,因此失去了使用初始化列表表的可能性。代码如下,它打破了调用隐式删除的规则:

cppstd::vector objects; // std::object 是一个模板参数

这段代码的问题在于,由于`std::object`是一个模板类型,编译器无法确定其具体类型,因此无法为其成员调用默认构造函数来初始化`std::vector`。这导致初始化列表无法使用,进而导致对象数组无法被正确初始化。

阅读全文