C++/C差别
-
typedef 和 using的差别,typedef可以用来定义一个类型,也可以用于定义别名。using还是做不到定义类型,但是可以用于别名。
void Aadd(){ /* code */ } void Badd(){ /* code */ } typedef void (*PFunc)(); // 定义一个函数指针类型 PFunc func = Aadd; PFunc func = Badd;
-
typedef是继承自C语言的关键字,声明是全局的,除非只在特定作用域中使用。
-
using是C++关键字,声明可以是局部的,且可以用于命名空间的别名。更加适用于C++编程。
-
inline关键字,建议编译器直接在调用点展开,减少调用层次,以及栈的创建等开销。缺点可能代码膨胀,二进制包变大,调试困难。
-
enum class类型为新增,enum类则为公共区域都可以访问。
-
vector容器需要使用更大的区间,最好使用
reseve()
提前重新分配空间改变capacity()
,不改变size()
,避免一些不必要的扩容问题。