迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

在 Dev C++ 中编译并运行 C++ 11 代码

作者:迹忆客 最近更新:2023/08/18 浏览次数:

本文是关于使用 Dev C++ 编译 C++ 11 代码。


C++ 11 版本

C++ 11是继C++ 3之后的C++新版本,经国际标准组织(ISO)批准于2011年8月12日发布。

这个新版本的 C++ 添加了一整套 C++ 的新功能。 不过,使用新功能是用户自己的选择。

尽管如此,其中一些功能非常有用,并使 C++ 编程变得更加有趣。

Bjarne Stroustrup 提出的 C++ 11 的主要目标是:

  1. 增强 C++ 优势。 重点不是扩展 C++ 以添加一些可以构建重型 GUI 应用程序的新功能(这是 C++ 的薄弱领域),而是改进其已有功能。
  2. 让C++更容易学习和使用。 它提供的功能使 C++ 更加一致和更容易。

整合 C++ 11 功能的委员会遵循一些主要原则,它们是:

  1. 使 C++ 11 与旧版本的 C++ 兼容,以便在旧版本下运行的程序通常可以与 C++ 11 一起运行。
  2. 他们没有向核心语言添加更多扩展,而是在标准库中进行了一系列更改。
  3. 他们专注于改进抽象机制(类、模板)。
  4. 他们为新条目和 C++ 编程专家添加了功能,为每组开发人员提供了一些东西。
  5. 提高了语言的类型安全性,以防止意外的错误和错误。
  6. 提高了 C++ 的性能,使其可以直接与硬件一起工作。

C++ 11 的特性

C++ 11 并不是 C++ 03 的大迁移,但它确实添加了一些主要的新功能。 我们将在这里讨论其中的一些。

  1. 类型推导功能:C++ 11 引入了一个新的关键字 auto,用于自动推导由初始化值定义的变量的数据类型。
    auto num1 = 5;
    int num2 = 10;
    
    由于我们用整数初始化了 num1,因此 num1 的类型将为 int。 类似地,auto 也可以使用另一个变量作为初始值设定项来推断变量的类型。

    例子:

    int a = 5;
    auto b = a;
    
    在此代码中,b 将使用 a 的值进行初始化,并且其类型将设置为 a,即 int。 未使用值初始化的变量也可以使用 decltype 设置。

    例子:

    int var1 = 0;
    decltype (var2) var1;
    
    我们没有用任何值初始化 var2,但它的数据类型将与 var1 相同。 尽管类型推导是 C++ 11 的强大功能,但仅在无法指定类型或使用类型推导机制提高代码效率或可读性的情况下才建议使用。
  2. 变量的统一初始化:C++ 11 引入了一种新方法,即使用大括号 {} 初始化变量。 请注意,以前的初始化方法在 C++ 11 中仍然有效。
    type identifier {initial_value};
    
    例子:
    int x{0};     //This will initialize `x` with 0.
    
  3. For-each 循环:我们已经看到 for 循环遍历数组元素,但增量或条件有可能出错。 引入了 for-each 循环来迭代数组以缓解这一困难。

    句法:

    for (element_declaration : array)
     statement;
    
    示例: ```cpp #include using namespace std;

int main() { int evens[]{ 0, 2, 4, 6, 8, 10, 12, 14}; for (int num : evens) { cout << num << ' '; } cout << '\n'; return 0; }

输出:
```bash
0 2 4 6 8 10 12 14

我们还可以在此循环中使用 auto 类型以更加方便。

例子:

#include <iostream>
using namespace std;

int main()
{
    int evens[]{ 0, 2, 4, 6, 8, 10, 12, 14};
    for (auto num : evens)
    {
        cout << num << ' ';
    }
    cout << '\n';
    return 0;
}

这是使用类型推导机制的理想情况。 无论数组类型是什么,它都会被设置为迭代器变量。

C++ 11 中引入了一系列新功能,但我们在这里讨论了一些最常用的功能。

同样,标准C++库中添加了许多新类,它们是:

  • 多线程和线程本地存储
  • 哈希表
  • 随机数生成
  • 参考包装器
  • 常用表达
  • std::元组
  • std::unique_ptr

安装 Dev C++ 来编译和运行 C++ 11 代码

Dev C++ 编译器有自己特定的集成开发环境 (IDE),用于编写、调试和运行 C++ 程序。 它包含一个用于编写和编辑程序的高效文本编辑器以及一个 C++ 编译器。

该文本编辑器的功能有限,允许您编写程序、修改程序并将其保存在磁盘存储空间上。 Dev C++ 不仅为 C++ 也为 C 提供了编辑器和编译器。

下载并安装 Dev C++ 后,您应该有以下窗口:

安装后窗口

现在,您可以通过转到“文件”->“新建”->“项目”来创建一个新项目,如下图所示:

创建新项目

从新窗口中,选择控制台应用程序。 这将创建一个新项目,您可以在其中添加 C++ 编程的源文件。

默认情况下会为您创建一个源文件 main.cpp。 对于C++ 11,您需要首先配置其编译器。 为此,请转到“工具”->“编译器选项”。

配置编译器 - 编译器选项

转到“设置”选项卡,然后转到“代码生成”选项卡。 从语言标准菜单中,选择 ISO C++11。

配置编译器 - 设置和代码生成

您现在已准备好在 Dev C++ 中编译 C++ 11 代码。 现在,您可以在已为您创建的主文件中编写代码,并通过按 F11 键编译代码,这将为您编译并运行代码。

因此,我们已经看到 Dev C++ 是一个易于使用的编译器,其中提供了 C++ 11 的最新功能。 我们可以使用Dev C++快速编译并运行C++ 11代码。

如果您在最后一步中没有找到 C++ 11 的选项,请确保您已下载最新版本的 Dev C++。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Arduino 中停止循环

发布时间:2024/03/13 浏览次数:444 分类:C++

可以使用 exit(0),无限循环和 Sleep_n0m1 库在 Arduino 中停止循环。

Arduino 复位

发布时间:2024/03/13 浏览次数:315 分类:C++

可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。

Arduino 的字符转换为整型

发布时间:2024/03/13 浏览次数:181 分类:C++

可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。

Arduino 串口打印多个变量

发布时间:2024/03/13 浏览次数:381 分类:C++

可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。

Arduino if 语句

发布时间:2024/03/13 浏览次数:123 分类:C++

可以使用 if 语句检查 Arduino 中的不同条件。

Arduino ICSP

发布时间:2024/03/13 浏览次数:214 分类:C++

ICSP 引脚用于两个 Arduino 之间的通信以及对 Arduino 引导加载程序进行编程。

使用 C++ 编程 Arduino

发布时间:2024/03/13 浏览次数:127 分类:C++

本教程将讨论使用 Arduino IDE 在 C++ 中对 Arduino 进行编程。

Arduino 中的子程序

发布时间:2024/03/13 浏览次数:168 分类:C++

可以通过在 Arduino 中声明函数来处理子程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便