zoukankan      html  css  js  c++  java
  • 泛型算法(十六)之移动语义算法

    1、move(InputIterator first, InputIterator last, OutputIterator result):C11版,把输入序列中的逐个元素移动到结果序列。需要注意的是,把一个对象移动给另一个对象的std::move定义在头文件<utility>中。

        std::vector<int> c = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        std::vector<int> result;
        result.resize(10);
        //把c中元素逐个移动到result中
        std::move(c.begin(), c.end(), result.begin());
        //输出
        for (auto var : result)
        {
            std::cout << var << ",";
        }
        //打印结果:0,1,2,3,4,5,6,7,8,9,

    2、move_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result):C11版,把输入序列中的逐个元素自尾到头移动到结果序列。

        std::vector<int> c = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        std::vector<int> result;
        result.resize(10);
        //把序列c中的逐个元素自尾到头移动到序列result
        std::move_backward(c.begin(), c.end(), result.end());
        //输出
        for (auto var : result)
        {
            std::cout << var << ",";
        }
        //打印结果:0,1,2,3,4,5,6,7,8,9,
  • 相关阅读:
    js加载优化三
    js加载优化-二
    js加载优化
    怎样获取元素的高度
    HttpClient
    Android Http请求方法汇总
    table列等宽
    单页面手机开发
    单页面
    【154】C#打包程序成安装包
  • 原文地址:https://www.cnblogs.com/dongerlei/p/5144961.html
Copyright © 2011-2022 走看看