gpt4 book ai didi

c++ - std::vector 适用于不可默认构造的类?

转载 作者:IT老高 更新时间:2023-10-28 23:22:40 25 4
gpt4 key购买 nike

我在几个地方读到 std::vector 要求它的模板参数是默认可构造的。今天我刚刚尝试了我的一个具有 deleted 默认构造函数的类,令我惊讶的是它似乎工作得很好(使用 std::vector 的默认构造函数)。这是可移植的行为,还是 gcc 的 STL 的实现细节,我应该假设 vector 要求它的模板参数是默认可构造的?

最佳答案

有两个vector<T>需要默认构造的成员 T在 C++11 中:

explicit vector(size_type n);
void resize(size_type sz);

没有别的。所以如果你使用这些签名,你需要有一个默认的可构造类型,否则你没有。

关于c++ - std::vector 适用于不可默认构造的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11763203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com