C++17 新特性与编程优化
1. 引言
C 和 C++ 为系统编程提供了多种整数类型,同时也有浮点类型。在编程中,我们会使用到默认类型,如常见的 int 类型,不过这些默认类型存在一定的优缺点。此外, stdint.h
提供了标准整数类型,能解决一些默认类型的问题。同时,在编程中还会涉及结构打包、类型转换以及编译器在不同场景下的优化等问题。而 C++17 带来了一系列的语言和库的变化,下面将详细介绍。
2. 技术要求
要编译和执行相关示例,需要满足以下条件:
- 基于 Linux 的系统,能够编译和执行 C++17(例如 Ubuntu 17.10+)
- GCC 7+
- CMake 3.6+
- 互联网连接
代码下载链接:https://github.com/PacktPublishing/Hands-On-System-Programming-with-CPP/tree/master/Chapter04
3. C++17 语言变化
3.1 if/switch 语句中的初始化器
在 C++17 中,可以在 if 和 switch 语句的定义中定义并初始化变量。
- if 语句示例 :
#include <iostream>
int main(void)
{
if (auto i = 42; i > 0) {
std::cout << "Hel