gpt4 book ai didi

c++ - 使用范围库初始化std::vector

转载 作者:行者123 更新时间:2023-12-01 13:37:59 25 4
gpt4 key购买 nike

我想用一系列连续整数初始化std::vector而不键入所有这些整数,例如第二行,它在此代码段中未编译:

  std::vector<int> a{0, 1, 2, 3, 4, 5};
std::vector<int> b{std::ranges::iota_view(0, 5)}; // ERROR!

当然,我非常希望:
  std::vector<int> b{0:5};

但这不是在C++ 41标准之前计划的。有什么想法如何在C++ 20中做到吗?

最佳答案

您正在寻找的是

auto b=std::ranges::to<std::vector>(std::ranges::iota_view(0, 5));

不幸的是, proposal错过了C++ 20仅仅是因为没有时间检查其措辞(在以前的版本中添加了您尝试过的构造函数之后,发现它不可行)。希望它将在C++ 23周期的早期进行合并和实现。

关于c++ - 使用范围库初始化std::vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61841418/

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