C++/C区别

C++/C差别

  1. typedef 和 using的差别,typedef可以用来定义一个类型,也可以用于定义别名。using还是做不到定义类型,但是可以用于别名。

    void Aadd(){
        /* code */
    }
    void Badd(){
        /* code */
    }
    typedef void (*PFunc)(); // 定义一个函数指针类型
    PFunc func = Aadd;
    PFunc func = Badd;
    
  2. typedef是继承自C语言的关键字,声明是全局的,除非只在特定作用域中使用。

  3. using是C++关键字,声明可以是局部的,且可以用于命名空间的别名。更加适用于C++编程。

  4. inline关键字,建议编译器直接在调用点展开,减少调用层次,以及栈的创建等开销。缺点可能代码膨胀,二进制包变大,调试困难。

  5. enum class类型为新增,enum类则为公共区域都可以访问。

  6. vector容器需要使用更大的区间,最好使用reseve()提前重新分配空间改变capacity(),不改变size(),避免一些不必要的扩容问题。

posted @ 2024-08-27 21:44  LemHou  阅读(79)  评论(0)    收藏  举报