迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > 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++。

上一篇:C++ 中的清除字符串流

下一篇:没有了

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

本文地址:

相关文章

C++ 中的清除字符串流

发布时间:2023/08/18 浏览次数:119 分类:C++

本文将介绍在 C++ 中清除或清空字符串流的不同方法。在C++中使用str("")和clear()方法清除字符串流 要清除或清空字符串流,我们可以使用 str("") 和 clear() 方法,但我们必须同时使用这两种方法

在 C++ 中获取文件的 MD5 哈希值

发布时间:2023/08/18 浏览次数:62 分类:C++

MD5 是一种密码协议,以前用于加密,但现在通常用于身份验证。 它基于哈希函数中的哈希过程,针对某些纯文本生成加密的哈希值。什么是哈希函数 在探索 MD5(消息摘要算法)之前,了解哈

将 C# 代码转换为 C++

发布时间:2023/08/18 浏览次数:183 分类:C++

本指南将讨论如何将 C# 代码转换为 C++。将整个语言转换为另一种语言被认为几乎是不可能的。 在这种情况下,C# 到 C++ 代码适用于 Unix,但 .NET Framework 无法从 Unix 上的 C++ 获得。

在 C++ 中使用 extern C

发布时间:2023/08/18 浏览次数:140 分类:C++

本文讨论 C++ 中的名称重整,这是理解 C++ 中 extern "C" 影响的先决条件。 此外,它还介绍了 C++ 编程中的 extern“C”。C++ 中 extern "C" 的使用 我们使用extern关键字来定义全局变量,也称为外部变量

C++中的串口连接

发布时间:2023/08/18 浏览次数:151 分类:C++

本文介绍了使用 Windows API 打开、读取、写入和管理串行端口连接的基础知识。本文的主要目的是让您基本了解编程中的串行通信如何工作,并让您朝着正确的方向开始。

C++ 中的反射

发布时间:2023/08/18 浏览次数:171 分类:C++

本文将讨论 C++ 中的反射、目的和实现。 我们将进一步研究使用反射的优点和缺点。C++ 中的反射 反射是一种编程机制,允许您编写适用于任何对象类型的通用代码。

C++ 中 DWORD 和 Unsigned Int 的区别

发布时间:2023/08/18 浏览次数:187 分类:C++

本文将介绍 DWORD 在 C++ 中的一般用法,它与 unsigned int 有着根本的不同,尽管它们目前具有相同的值。C++ 中 DWORD 和 unsigned int 的区别 根据定义,unsigned int 至少有 16 位长。 unsigned int 通常是特定

修复 C++ 中的分段错误

发布时间:2023/08/18 浏览次数:192 分类:C++

本文将讨论 C++ 中的分段错误并提供解决此问题的解决方案。C++ 中的分段错误当您的程序或系统尝试访问超出其范围的内存时,C++ 中就会出现分段错误。 这是导致程序在运行时崩溃的常见情况

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便