zoukankan      html  css  js  c++  java
  • std::reference_wrapper

    引用&必须初始化且不能重新分配,所以列表元素(如vector中元素)不能是引用。代替引用,我们可以使用指针,但这将打开存储或传递空指针的可能性,为了解决这个问题,有std :: reference_wrapper。

    引用,其一变,都变。

    当您希望将对象从std::reference包装器中取出时,可以使用get()成员函数。

    #include <functional> // std::reference_wrapper
    #include <iostream>
    #include <vector>
    #include <string>
    
    int main()
    {
        std::string tom{ "Tom" };
        std::vector<std::reference_wrapper<std::string>> names{}; //std::vector<ste::string&> names{} 错误
        names.push_back(tom);
        names[0].get() += " Beam"; //vector中第一个元素内容变为Tom Beam
        std::cout << tom << '
    '; //tom也变为Tom Beam
    
        return 0;
    }
  • 相关阅读:
    mmall商城用户模块开发总结
    Hadoop伪分布式安装与配置
    1.2假设空间
    1.1基本术语
    文献笔记
    文献下载
    文献管理
    文献检索
    python:函数详解2
    python:函数详解
  • 原文地址:https://www.cnblogs.com/xixixing/p/13742317.html
Copyright © 2011-2022 走看看