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;,此时 refa 的引用。
  • 智能指针

    • 智能指针(如 std::unique_ptrstd::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