1.自动类型推导(Auto
):允许编译器推导变量的类型,使代码更加简洁。
tag
2.范围-based
for
循环:简化了对容器元素的遍历。
3.智能指针:引入了 std
::shared_ptr
和 std
::unique_ptr
等智能指针,用于管理动态分配的内存,帮助防止内存泄漏。
4.Lambda
表达式:允许在函数内部定义匿名函数,提高代码可读性和灵活性。
auto
add
= [](int
a
, int
b
) { return
a
+ b
; };
5. nullptr
:引入了空指针常量 nullptr
,用于替代传统的空指针 NULL
。
int
* ptr
= nullptr
;
6.强制类型转换(Type
Casting
):引入了 static_cast
、dynamic_cast
、const_cast
、reinterpret_cast
等更安全和灵活的类型转换操作符。
7. 右值引用和移动语义:支持通过右值引用实现移动语义,提高了对临时对象的处理效率。
8.新的容器和算法:引入了新的容器,如 std
::unordered_map
、std
::unordered_set
,以及一些新的算法。
9.线程支持(std
::thread
):提供了原生的多线程支持,使得并发编程更加方便。
转载请注明:汇站网 » C
++11 引入了许多新特性,让编程变得更加强大和便捷