在c++中迭代promise向量

Iterate on a vector of promise in C++

本文关键字:promise 向量 迭代 c++      更新时间:2023-10-16

我对c++多线程很陌生,我试图处理一个承诺向量,但当我在main末尾做这个事情时:

  for (promise<bool> pr : vect){
        pr.get_future().get();
    }

编译器给了我一个错误。我该如何在这个向量中迭代?

std::promise是不可复制的,并且您的基于范围的for正在尝试复制向量成员。当以这种方式迭代时,需要使用引用:

for (promise<bool>& pr : vect) { ... }