C++11引入了许多新特性,以下是其中一些主要的特性:
自动类型推断(auto):可以通过关键字auto自动推断变量的类型,减少重复代码。
统一的初始化语法:可以使用花括号{}来初始化各种类型的对象,包括数组、结构体、类等。
基于范围的for循环:可以通过简洁的语法遍历容器中的元素,例如:for (auto& element : container)。
Lambda表达式:可以在代码中内联定义匿名函数,方便简洁地进行函数对象的定义和使用。
右值引用(Rvalue references)和移动语义(Move semantics):引入了&&符号来表示右值引用,支持高效地移动对象而不进行不必要的复制。
空指针常量(nullptr):引入了空指针常量nullptr作为空指针的标识,取代了以前的NULL宏定义。
智能指针(Smart pointers):引入了shared_ptr、unique_ptr和weak_ptr等智能指针,方便管理动态分配的内存。
并发编程支持:引入了线程库(thread)和互斥量库(mutex)等,并提供了原子操作和条件变量等机制,方便进行多线程编程。