C++11 引入了许多新的特性和改进,使得 C++ 语言更加现代化和强大。以下是一些主要的 C++11 新特性:
自动类型推导 (
auto
)- 使用
auto
关键字可以自动推导变量的类型,提高代码的可读性。 - 示例:
auto x = 5;
,此时x
的类型被推导为int
。
- 使用
Lambda 表达式
- Lambda 表达式允许你定义匿名函数,使得代码更加简洁。
- 示例:
[=](int y) { return x + y; }
,这是一个返回两个数之和的匿名函数。
右值引用
- 使用右值引用可以优化资源的利用,提高性能。
- 示例:
int a = 5; int& ref = a;
,此时ref
是a
的引用。
智能指针
- 智能指针(如
std::unique_ptr
和std::shared_ptr
)可以自动管理内存,防止内存泄漏。 - 示例:
std::unique_ptr<int> ptr(new int(10));
,当ptr
离开作用域时,内存会自动释放。
- 智能指针(如
线程支持
- C++11 提供了线程库,使得多线程编程更加容易。
- 示例:
std::thread t([]() { std::cout << "Hello, World!" << std::endl; });
,创建一个线程打印消息。
范围 for 循环
- 使用范围 for 循环可以简化遍历容器的代码。
- 示例:
for (int i : vec) { std::cout << i << std::endl; }
,遍历vec
容器中的所有元素。
更多关于 C++11 的内容,请访问本站 C++11 教程。
C++11 Logo