C++11 引入了许多新的特性和改进,使得 C++ 编程语言更加现代和强大。以下是一些重要的 C++11 特性:

1. 自动类型推导 (auto)

在 C++11 中,可以使用 auto 关键字来自动推导变量的类型。这简化了代码并减少了错误。

auto x = 10; // x 的类型被推导为 int

2. 列表初始化

现在可以使用花括号 {} 来初始化容器,例如 std::vector

std::vector<int> v = {1, 2, 3, 4, 5};

3. Lambda 表达式

Lambda 表达式允许你定义匿名函数,这在处理回调和事件处理器时非常有用。

auto lambda = []() { std::cout << "Hello, World!" << std::endl; };
lambda();

4. 智能指针

C++11 引入了三种智能指针:std::unique_ptrstd::shared_ptrstd::weak_ptr,用于自动管理内存。

std::unique_ptr<int> p(new int(10));

5. 右值引用

右值引用允许你直接操作右值,并提高性能。

int a = 10;
int& ra = a; // 左值引用
int&& rb = std::move(a); // 右值引用

6. 移动语义

C++11 引入了移动语义,允许你通过移动资源而不是复制来提高性能。

std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2(std::move(v1)); // 移动语义

7. 异常处理改进

C++11 对异常处理进行了改进,包括新的 noexcept 关键字和 std::exception_ptr

void f() noexcept {}
void g() {}

8. 新的库功能

C++11 引入了许多新的库功能,例如 <thread><atomic><chrono>

#include <thread>

std::thread t([]() { std::cout << "Hello, World!" << std::endl; });
t.join();

C++11 Logo

更多关于 C++11 的信息,请访问我们的 C++11 教程

# C++11 新特性概览

C++11 引入了许多新的特性和改进,使得 C++ 编程语言更加现代和强大。以下是一些重要的 C++11 特性:

## 1. 自动类型推导 (auto)

在 C++11 中,可以使用 `auto` 关键字来自动推导变量的类型。这简化了代码并减少了错误。

```cpp
auto x = 10; // x 的类型被推导为 int

2. 列表初始化

现在可以使用花括号 {} 来初始化容器,例如 std::vector

std::vector<int> v = {1, 2, 3, 4, 5};

3. Lambda 表达式

Lambda 表达式允许你定义匿名函数,这在处理回调和事件处理器时非常有用。

auto lambda = []() { std::cout << "Hello, World!" << std::endl; };
lambda();

4. 智能指针

C++11 引入了三种智能指针:std::unique_ptrstd::shared_ptrstd::weak_ptr,用于自动管理内存。

std::unique_ptr<int> p(new int(10));

5. 右值引用

右值引用允许你直接操作右值,并提高性能。

int a = 10;
int& ra = a; // 左值引用
int&& rb = std::move(a); // 右值引用

6. 移动语义

C++11 引入了移动语义,允许你通过移动资源而不是复制来提高性能。

std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2(std::move(v1)); // 移动语义

7. 异常处理改进

C++11 对异常处理进行了改进,包括新的 noexcept 关键字和 std::exception_ptr

void f() noexcept {}
void g() {}

8. 新的库功能

C++11 引入了许多新的库功能,例如 <thread><atomic><chrono>

#include <thread>

std::thread t([]() { std::cout << "Hello, World!" << std::endl; });
t.join();

C++11 Logo

更多关于 C++11 的信息,请访问我们的 C++11 教程