跳转至

0、C++11的特性

C++11 是 C++ 语言的一个标准版本,于 2011 年发布,引入了许多新的特性,以下是 C++11 的一些主要特性:

  1. auto 关键字:用于自动推导变量类型;
  2. lambda 表达式:可以在函数内部定义一个匿名函数,方便编写一次性的简单函数;
  3. 统一的初始化语法:可以使用 {} 或 = 来统一初始化各种类型的对象;
  4. 范围 for 循环:可以方便地遍历容器、数组等数据结构;
  5. nullptr 关键字:用于表示空指针,替代了 C++03 中的 NULL 宏定义;
  6. 强类型枚举:可以指定枚举类型的底层类型,避免隐式类型转换导致的错误;
  7. 智能指针:引入了 shared_ptr 和 unique_ptr 等智能指针,方便管理动态内存;
  8. 右值引用:可以使用 && 来声明右值引用,支持移动语义,避免大量的拷贝构造和赋值操作;
  9. constexpr 关键字:用于声明常量表达式函数,编译期间求值,可以提高程序的性能。

​ 除此之外,C++11 还引入了一些其他的特性,如线程支持、变长参数模板、委托构造函数等等。这些特性可以使 C++ 语言更加现代化、灵活和高效,为开发者提供更多的选择和便利。

Dev-C++ 如何支持c++11?

Dev-C++ 是一款老旧的 C++ 集成开发环境(IDE),虽然它能够编译 C++11 标准的代码,但需要对其进行一些设置和配置。

下面是在 Dev-C++ 中启用 C++11 的步骤:

  1. 打开 Dev-C++,选择菜单栏中的“Tools”-“Compiler Options”。
  2. 在弹出的窗口中,点击“Settings”标签。
  3. 在“Code Generation”选项卡中,将“Language standard (-std)”设置为“ISO C++11”。
  4. 在“Directories”选项卡中,添加 C++11 标准库的头文件和库文件路径。路径一般为:C:\Dev-Cpp\MinGW64\include\c++\11.2.0 和 C:\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\11.2.0\include\c++。
  5. 点击“OK”保存设置。
  6. 重新启动 Dev-C++。

现在,你可以在 Dev-C++ 中编写并编译 C++11 标准的代码了。记得在代码中使用 C++11 的新特性时,加上相应的编译选项

-std=c++11。例如:

C++
1
2
3
4
5
6
7
8
#include <iostream>

int main() {
    int a = 10;
    auto b = a + 5; // 使用 C++11 新特性 auto 推导类型
    std::cout << "b = " << b << std::endl;
    return 0;
}

编译命令:g++ -std=c++11 main.cpp

​ 以上是在 Dev-C++ 中启用 C++11 的方法,但是建议你使用更现代的 IDE,如 Visual Studio、Code::Blocks、CLion 等。这些 IDE 都支持 C++11 及更高版本的标准,并且有更好的开发体验和更多的功能。