• C++常见易忘知识点与常shi


    vector的size和capacity

    reserve 与 resize 是区别的:
    reserve 用来给vector预分配存储区大小,即capacity的值 ,没有给这段内存进行初始化。reserve 的参数是推荐预分配内存的大小,实际分配的可能等于或大于这个值。这样做的好处就是消除当往vector插入数据时,size 超过原来的默认分配的capacity值时 所带来的 内存重分配开销。
    resize 不仅会改变vector的capacity大小,而且会重置size值,

    在C++ STL中,很多部分(目前包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以及对set操作的支持)。

    int (*ff(int ))(int *, int )解读:这是一个函数指针,他所能够zhixiang的函数的输入为int 返回值为形如:int (*)(int * , int)的函数指针

    函数中包含复杂的语法例如循环和递归,还有虚函数等,打多数编译器会拒绝将其作为inline函数进行优化。

    如果有函数指针指向了inline函数,那么编译器会为这个函数生成一个本体(以便函数指针指向的地址确实存在一个函数)。

    virtual函数是动态绑定,但是缺省参数值却是静态绑定

  • 相关阅读:
    linux
    day01-02
    测试基础
    cookie session
    多表表与表关系 增删改查 admin
    连接数据库 创建表 字段和参数 增删改查
    LeetCode OJ:Triangle(三角形)
    LeetCode OJ:Unique Paths II(唯一路径II)
    LeetCode OJ:Unique Paths(唯一路径)
    使用双栈实现一个队列
  • 原文地址:https://www.cnblogs.com/candycloud/p/3594512.html
Copyright © 2020-2023  润新知