在 Dev C++ 中编译并运行 C++ 11 代码
本文是关于使用 Dev C++ 编译 C++ 11 代码。
C++ 11 版本
C++ 11是继C++ 3之后的C++新版本,经国际标准组织(ISO)批准于2011年8月12日发布。
这个新版本的 C++ 添加了一整套 C++ 的新功能。 不过,使用新功能是用户自己的选择。
尽管如此,其中一些功能非常有用,并使 C++ 编程变得更加有趣。
Bjarne Stroustrup 提出的 C++ 11 的主要目标是:
- 增强 C++ 优势。 重点不是扩展 C++ 以添加一些可以构建重型 GUI 应用程序的新功能(这是 C++ 的薄弱领域),而是改进其已有功能。
- 让C++更容易学习和使用。 它提供的功能使 C++ 更加一致和更容易。
整合 C++ 11 功能的委员会遵循一些主要原则,它们是:
- 使 C++ 11 与旧版本的 C++ 兼容,以便在旧版本下运行的程序通常可以与 C++ 11 一起运行。
- 他们没有向核心语言添加更多扩展,而是在标准库中进行了一系列更改。
- 他们专注于改进抽象机制(类、模板)。
- 他们为新条目和 C++ 编程专家添加了功能,为每组开发人员提供了一些东西。
- 提高了语言的类型安全性,以防止意外的错误和错误。
- 提高了 C++ 的性能,使其可以直接与硬件一起工作。
C++ 11 的特性
C++ 11 并不是 C++ 03 的大迁移,但它确实添加了一些主要的新功能。 我们将在这里讨论其中的一些。
-
类型推导功能:C++ 11 引入了一个新的关键字 auto,用于自动推导由初始化值定义的变量的数据类型。
auto num1 = 5; int num2 = 10;
例子:
int a = 5; auto b = a;
例子:
int var1 = 0; decltype (var2) var1;
-
变量的统一初始化:C++ 11 引入了一种新方法,即使用大括号 {} 初始化变量。 请注意,以前的初始化方法在 C++ 11 中仍然有效。
type identifier {initial_value};
int x{0}; //This will initialize `x` with 0.
-
For-each 循环:我们已经看到 for 循环遍历数组元素,但增量或条件有可能出错。 引入了 for-each 循环来迭代数组以缓解这一困难。
句法:
for (element_declaration : array) statement;
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++ 中的清除字符串流
发布时间: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++ 中 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++ 中就会出现分段错误。 这是导致程序在运行时崩溃的常见情况