C11新特性总结

  • C++11 的新特性

(1)auto 关键字,可以自动推断出变量的类型;

(2)nullptr 来代替 NULL,可以避免重载时出现的问题(一个是 int,一个是 void*);

(3)智能指针,那三个智能指针,对内存进行管理;

(4)右值引用,基于右值引用可以实现移动语义和完美转发,消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率;

(5)lambda 表达式,可以理解为一个匿名的内联函数。

不足之处:没有 GC(垃圾回收机制)、没有反射机制等。

  • 指针和引用的区别

(1)指针本质是一个地址,有自己的内存空间,引用只是一个别名;

(2)指针可以指向其他的对象,但是引用不能指向其他的对象,初始化之后就不能改变了;

(3)指针可以初始化为 nullptr,而引用必须被初始化为一个已有对象的引用;

(4)指针可以是多级指针,引用只能是一级。

稍微重要: - constexpr 常量表达式声明