C++ move()函数及priority_queue队列使用记录 – ECHO

C++ move()函数及priority_queue队列使用记录 - ECHO

最近刷leetcode题,使用了move()函数及优先队列(堆)priority_queue数据结构,记录一下!

1.move函数

move(obj)函数的功能是把obj当做右值处理,可以应用在对象的移动上。

右值引用

为了支持移动操作,新标准引入了一种新的引入类型——右值引用,所谓右值引用就是必须绑定到右值的引用。通过&&而不是&来获得右值引用。

注意,如果仅仅是定义右值引用,那么obj本身不会被移走,在作为参数时会发生obj被移走:如下:

    string str = "test";
    string&& r = move(str);
    cout<< r <<endl;
    cout<< str <<endl;
    string t(r);
    cout<< t <<endl;
    cout<< str <<endl;
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » C++ move()函数及priority_queue队列使用记录 – ECHO