zoukankan      html  css  js  c++  java
  • 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函数是动态绑定,但是缺省参数值却是静态绑定

  • 相关阅读:
    Ubuntu下彻底卸载mysql
    Navicat连接Ubuntu中的MySQL,报错1130-host
    win10优化开机进程
    导入别人工程后项目报错,有个小红叉
    eclipse中的tomcat配置
    解决eclipse启动慢
    linux screen命令
    python pip install出现问题
    scala中执行shell命令
    spark 累加器
  • 原文地址:https://www.cnblogs.com/candycloud/p/3594512.html
Copyright © 2011-2022 走看看