C11新特性总结
- C++11 的新特性
(1)auto 关键字,可以自动推断出变量的类型;
(2)nullptr 来代替 NULL,可以避免重载时出现的问题(一个是 int,一个是 void*);
(3)智能指针,那三个智能指针,对内存进行管理;
(4)右值引用,基于右值引用可以实现移动语义和完美转发,消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率;
(5)lambda 表达式,可以理解为一个匿名的内联函数。
不足之处:没有 GC(垃圾回收机制)、没有反射机制等。
- 指针和引用的区别
(1)指针本质是一个地址,有自己的内存空间,引用只是一个别名;
(2)指针可以指向其他的对象,但是引用不能指向其他的对象,初始化之后就不能改变了;
(3)指针可以初始化为 nullptr,而引用必须被初始化为一个已有对象的引用;
(4)指针可以是多级指针,引用只能是一级。
稍微重要: - constexpr 常量表达式声明