Rock

《Learn C++》笔记 1.8 空白与基本格式

空白符Whitespace是指用于格式化的字符。在C++中,主要指空格、制表符和换行符。C++中的空白符通常用于三种情况:分离特定语言元素、在文本内部使用,以及格式化代码。 某些语言元素必须用空格分隔 该语言的语法要求某些元素之间必须用空格分隔。这种情况通常发生在两个关键字或标识符必须连续出现时,以便编译器能够区分它们。 例如,变量声明必须用空格分隔: int x; // int...

《Learn C++》笔记 1.7 关键词与命名标识符

关键词 C++为自身保留了一组92个词(截至C++23版本)。这些词被称为关键词keywords(或保留字),每个关键词在C++语言中都具有特殊含义。 以下是所有C++关键词的列表(截至C++23版本): 标记为(C++20)的关键词是在C++20中新增的。若您的编译器不支持C++20(或虽具备C++20功能但默认禁用),这些关键词可能无法正常工作。 C++还定义了特殊标识符:o...

《Learn C++》笔记 1.6 未初始化的变量与未定义行为

未初始化的变量 与某些编程语言不同,C/C++不会自动将大多数变量初始化为特定值(如零)。当未初始化的变量被分配内存地址用于存储数据时,该变量的默认值就是该内存地址中原本存在的任意(垃圾)值!未通过初始化或赋值获得已知值的变量称为未初始化变量uninitialized variable。 术语说明 许多读者认为“初始化”与“未初始化”是严格的对立概念,但事实并非如此!在通用语境中,...

《Learn C++》笔记 1.5 iostream 介绍:cout、cin 和 endl

在本节课中,我们将深入探讨std::cout——这个在“Hello world!”程序中用于向控制台输出文本“Hello world!”的库函数。同时,我们还将学习如何获取用户输入,从而使程序具备更强的交互性。 输入/输出库 输入/输出库input/output library(io库)是C++标准库的一部分,用于处理基本的输入和输出操作。我们将利用该库的功能从键盘获取输入,并将数据...

《Learn C++》笔记 1.3 对象与变量介绍

数据与值 在第1.1课——语句与程序结构中,你了解到程序中的大多数指令是语句,而函数则是按顺序执行的语句集合。函数内部的语句执行操作,这些操作(理想情况下)会产生程序设计时预期的结果。 那么程序如何实际产生结果?其原理在于对数据进行操作(读取、修改和写入)。在计算机领域,数据data指任何可被计算机移动、处理或存储的信息。 关键洞见: 程序是由指令组成的集合,通过操作数据来产生预...

《Learn C++》笔记 1.1 语句与程序结构

章节导言 欢迎来到本C++教程的第一章! 本章将初步介绍若干对每个C++程序都至关重要的主题。由于涉及内容较多,我们将以较为浅显的方式覆盖大部分内容(仅够入门)。本章旨在帮助您理解基础C++程序的构建方式。完成本章学习后,您将能够编写自己的简单程序。 后续章节将重新梳理这些主题并深入探讨,同时引入基于这些基础的新概念。 为控制单课时长度,部分主题可能拆分至后续课时讲解。若您发现重要概...

《Learn C++》笔记 0.12 配置编译器:选择语言标准

面对众多版本的C++(C++98、C++03、C++11、C++14、C++17、C++20、C++23等),编译器如何确定使用哪个版本?通常编译器会选择一个默认标准。值得注意的是,默认标准通常并非最新版本——多数编译器默认采用C++14标准,而该版本遗漏了诸多前沿特性。 若需使用其他语言标准(这往往是开发者的实际需求),则必须手动配置IDE/编译器。 语言标准的惯用命名(如C++20)...