• 标题重新写&&大佬的博客


    https://www.androidperformance.com/2018/05/07/Android-performance-optimization-skills-and-tools/

    全部先参考此链接:https://www.cnblogs.com/inception6-lxc/p/8686156.html 

      1.vector : 因为vector使用数组实现的,因此元素是保存在连续的内存中的,所以通过索引取值的速度非常快

       

      size的大小:结束的数据-开始的数据

      capacity的大小:申请一块连续的内存大小

      2.resize()、reserve()两个函数对比

       resize : 影响的存储的数据的大小,也有可能影响capacity这个大小,因为size长度比capacity的长度大,这个时候就需要扩容

       reserve:它只影响capacity的大小,不会影响size的大小

       扩容时候会把之前旧数据拷贝到新的数据里面,然后再把老的数据清除掉

      3. list : 在底层使用一个双向的环形链表实现的,所以在任意位置进行增加或者删除速度都比较快,都是指针交换

        4.Map、Multimap、Unordered_map、Unordered_multimap

        Map和Multimap:底层基于红黑树,元素自动有序,且插入、删除效率高,时间复杂度是O(logN)

        Unordered_map和Unordered_multimap : 底层基于哈希表,故元素无序,查找效率高,时间复杂度是O(1)

      5.迭代器和指针的区别

       迭代器:有个迭代器模式,对指针里面的功能进行一系列封装的指针,它是一个类模版。迭代器的类型有:

        指针:它是一个存放对象的地址的指针变量。

      6.类模版 :template作为关键字

       

      7.友元函数,需要用friend来作为定义

       类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。

      8.指针和引用的区别

       引用被创建的同时必须被初始化                                            指针则可以在任何时候被初始化

       不能有NULL 引用,引用必须与合法的存储单元关联                 指针则可以是NULL

       一旦引用被初始化,就不能改变引用的关系                             指针则可以随时改变所指的对象

       引用有编译检查                                                                 指针无编译检查  

      9.虚函数用sizeof来看大小

             虚函数用sizeof大小是4,虚函数指针的大小是4,指针用sizeof去计算大小都是4

      10.虚函数和纯虚函的区别

             虚函数:它是一个继承,子类不一定需要实现,继承只能实现一个
             纯虚函数:它是一个接口,子类必须实现,它是在方法后面加个=0,接口可以实现多实现

             什么情况下需要将析构函数定义为虚函数?
             当一个类里面有虚函数时候,继承之后就会调用该方法,这样会导致内存泄漏,才必须再析构函数加virtual这个关键字

     

     

        

  • 相关阅读:
    清理一瓶花茶中的虫子
    一些网上的新信息安全问题
    对于秋季高程备课的随笔
    用共享单车第一次遇到程序出现问题的思考
    开始带学生的一些感受
    对近期北辰开会的一些总结
    WSN和RFID书上好多问题:关于S50
    统计课设成绩用到excel画成绩频率分布曲线
    linux 常用命令
    局域网 ARP 欺骗原理详解
  • 原文地址:https://www.cnblogs.com/liunx1109/p/14120441.html
Copyright © 2020-2023  润新知