gpt4 book ai didi

c++ - 如何为 reference_wrapper 的 STL 容器设置初始大小?

转载 作者:太空狗 更新时间:2023-10-29 20:39:57 27 4
gpt4 key购买 nike

我有一个 vector包含在 reference_wrapper 中的一些引用类型.由于我需要乱序填充此容器,因此我尝试为容器设置初始大小:

vector<std::reference_wrapper<T>> v(5);

v[3] = ..
v[2] = ..
v[4] = ..
v[5] = ..
v[1] = ..

编译失败,错误如下:

error: no matching function for call to ‘std::reference_wrapper<int>::reference_wrapper()’

是否有解决方法来完成这项工作,还是我必须使用 vector<T*>为了这个目的?

最佳答案

您可以提供一个原型(prototype),类似于您自己的“未初始化”值:

T blank;
std::vector<std::reference_wrapper<T>> v(5, ref(blank));

关于c++ - 如何为 reference_wrapper 的 STL 容器设置初始大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25938426/

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