我正在查看http://en.cppreference.com/w/cpp/thread/future
上的std::future
文档
我不明白为什么模板参数类型(2
)是reference
?
template< class T > class future<T&>; (2) (since C++11)
答案 0 :(得分:1)
这是std::future
的参考专业化,它考虑了返回值为参考类型的情况。
检查以下示例代码:
// future example
#include <iostream> // std::cout
#include <future> // std::async, std::future
int counter = 0;
int& increment_counter()
{
return ++counter;
}
int main ()
{
std::future<int&> fut = std::async(increment_counter);
int &counterRef = fut.get();
std::cout << "value:" << counterRef << std::endl;
return 0;
}