• std::move()


     1 #include <iostream>
     2 #include <utility>
     3 #include <vector>
     4 #include <string>
     5 int main()
     6 {
     7     std::string str = "Hello";
     8     std::vector<std::string> v;
     9  
    10     // uses the push_back(const T&) overload, which means
    11     // we'll incur the cost of copying str
    12     v.push_back(str);
    13     std::cout << "After copy, str is "" << str << ""
    ";
    14  
    15     // uses the rvalue reference push_back(T&&) overload,
    16     // which means no strings will copied; instead, the contents
    17     // of str will be moved into the vector.  This is less
    18     // expensive, but also means str might now be empty.
    19     v.push_back(std::move(str));
    20     std::cout << "After move, str is "" << str << ""
    ";
    21  
    22     std::cout << "The contents of the vector are "" << v[0]
    23                                          << "", "" << v[1] << ""
    ";
    24 }

    最好配合着c++标准库一起看。

  • 相关阅读:
    爬虫入门(五)
    爬虫入门(四)
    爬虫入门(三)
    爬虫入门(二)
    爬虫入门(一)
    openpyxl的简单使用
    ansible(三)
    ansible(二)
    ansible(一)
    CF Global Round 10-F
  • 原文地址:https://www.cnblogs.com/cdwodm/p/4979242.html
Copyright © 2020-2023  润新知