C++11 是 C++ 发展历程中的一个重要里程碑,它引入了许多新的特性和改进,使得 C++ 语言更加现代化和强大。以下是一些 C++11 的关键特性:
新特性概述
- 自动类型推导:使用
auto
关键字可以自动推导变量的类型。 - Lambda 表达式:提供了一种更简洁的方式来定义匿名函数。
- 智能指针:
std::unique_ptr
、std::shared_ptr
和std::weak_ptr
等智能指针提供了更安全的内存管理。 - 线程支持:引入了
<thread>
和<atomic>
头文件,支持多线程编程。 - 范围 for 循环:简化了迭代容器的操作。
- 初始化列表:使用初始化列表可以更方便地初始化对象。
自动类型推导示例
auto x = 10; // x 类型为 int
auto y = 3.14; // y 类型为 double
auto z = "Hello"; // z 类型为 std::string
Lambda 表达式示例
auto print = [](int a, int b) {
std::cout << a + b << std::endl;
};
print(5, 3); // 输出 8
智能指针示例
std::unique_ptr<int> ptr(new int(10));
std::cout << *ptr << std::endl; // 输出 10
线程示例
#include <thread>
void print_message(const std::string& message) {
std::cout << message << std::endl;
}
int main() {
std::thread t(print_message, "Hello from thread!");
t.join();
return 0;
}
扩展阅读
更多关于 C++11 的内容,您可以访问本站 C++11 教程。
C++11 Logo