• C++11:新特性(11-20)


    十一:委托构造函数

    C++11中,委托构造函数使用它所属类的其他构造函数执行它自己的初始化过程,或这说自己的一些职责委托给了其他构造函数。

    格式为:

    1. class data
    2. {
    3. public:
    4. //构造函数
    5. data(int a,int b,int c):_a(a),_b(b),_c(c){}
    6. //委托构造函数
    7. data() :data(10, 20, 30){}
    8. data(int a):data(a,10,10){}
    9. int _a;
    10. int _b;
    11. int _c;
    12. };

    十二:定义容器对象

    • 老式: vector > 里层右尖括号和外层尖括号右空格
    • c++11:vector> 不含有空格

    十三:列表初始化对象: 

    可以使用 {} 对对象进行初始化

    1. vector<int>p{4,5,2,3,7};
    2. for (int i : p)
    3. {
    4. cout << i << " ";
    5. }
    6. cout << endl;
    7. deque<int>g{ 10,20,4,5,7 };
    8. for (int i : g)
    9. {
    10. cout << i << " ";
    11. }

     

    十四: C++11新加的两种容器

    1. array容器:与内置数组相识,但大小是固定的,不能改变容器大小(不能删除和添加元素)只能修改元素,使用[ ]或at()
    2. forward_list容器:(单链表)

    十五:c++11新加的两个函数:

    • cbegin():获取容器第一个元素的迭代器,只可读(const_iterator)
    • cend(): 获取容器最后一个元素的下一位,只可读(const_iterator)

    十六: insert的返回值问题:

    接收元素个数或范围的insert版本返回指向第一个新加入元素的迭代器,如果范围为空,insert会返回第一个参数

     十七:emplace操作:

    • emplace             指定插入
    • emplace_font    头部插入
    • emplace_back   尾部插入

    emplace和 insert  push_back  push_font 的区别:

    • emplace 插入元素时,是直接构造元素。(效率高)
    •  insert  push_back  push_font 会先生成临时对象,然后再压入容器中。

    十八:shrink_to_fit操作:(vector、string、deque)

     当不需要的内存过多时,该函数可以指出我们不需要任何多余的内存空间,但不一定会退回内存空间。

     

    十九:string的数值转换

     将其他类型的数据转化为string类型的数据

    to_string()

    1. int a = 10;
    2. string p = to_string(10);//将整形转换为字符型

    二十:=delete 定义删除的函数

    在函数的参数列表后面加上=delete,可以定义为删除的函数

    1. class son
    2. {
    3. public:
    4. son(const son& p) = delete;//阻止拷贝
    5. son& operator=(const son& p) = delete;//阻止赋值
    6. son& operator[](int a) = delete;//阻止[]访问数据
    7. };

     

  • 相关阅读:
    举个栗子~Tableau 技巧(245):用辅助标识快速查看标靶图
    使用VMware安装系统Window、Linux操作系统
    Linux学习记录——삼십일 socket编程---TCP套接字
    差分
    BC1.2 PD协议
    单目标追踪——【孪生网络】SiamMask论文阅读笔记
    [题]跳房子 #单调队列优化(伪)
    Windows 安装的虚拟环境位置在哪里,怎么找到pycharm对应的python解释器
    文件编辑器、用户管理,嘎嘎学
    海量数据情况下,怎么用Bitmap进行签到统计?
  • 原文地址:https://blog.csdn.net/qq_45303986/article/details/127512614