C++11 是 C++ 发展历程中的一个重要里程碑,它引入了许多新的特性和改进,使得 C++ 语言更加现代化和强大。以下是一些 C++11 的关键特性:

新特性概述

  • 自动类型推导:使用 auto 关键字可以自动推导变量的类型。
  • Lambda 表达式:提供了一种更简洁的方式来定义匿名函数。
  • 智能指针std::unique_ptrstd::shared_ptrstd::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