C++并发编程

2018-09-17  本文已影响0人  Supreme_DJK
  1. 函数参数
void process_big_object(std::unique_ptr<big_object>);
std::unique_ptr<big_object> p(new big_object);
std::thread t(process_big_object,std::move(p));

原因:unique_str智能指针禁止了拷贝构造函数

  1. 函数返回的类型
unique_ptr<int> thread_func()
{
    unique_ptr<int> a(new int(2));
    *a += 1;
    cout << *a << endl;
    return a;
}
unique_ptr<int> b = move(thread_func()); //move移动语义
cout << *b << endl;

原因:unique_str智能指针禁止了赋值构造函数

上一篇 下一篇

猜你喜欢

热点阅读