Skip to content

Commit

Permalink
Update source-processed.md: improve explanation of whitespace and mer…
Browse files Browse the repository at this point in the history
…ging lines
  • Loading branch information
dynilath committed Jun 22, 2024
1 parent d09a350 commit 2219b52
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions src/zh/01-hello-world/source-processed.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@ title: 初识源文件的处理

源文件的处理是一个比较复杂的过程,在这里我们先介绍一下入门时阅读和编写代码必须需要接触到的知识。

## 预处理指令

::: caution TODO: 预处理指令
:::

## 空白字符

在 C++ 中,源文件里的空格、制表符(按下键盘上Tab默认输入的字符)和换行符(按下键盘上的Enter或者return)是无关紧要的。
也就是说,只要不破坏由多个字符组成的标识符、标点符号和字面量,可以在源文件中任意添加空格、制表符和换行符,而不会影响程序表现。
(显然,输入到一个标识符中间的空格会将标识符分成前后两半,因为标识符中间不能有空格。)

例如,下面的代码
```cpp
Expand All @@ -30,6 +33,9 @@ println
```
是等价的。

只要不破坏由多个字符组成的标识符、标点符号和字面量,可以在源文件中任意添加空格、制表符和换行符,而不会影响程序表现。
(由于标识符中间不能有空格,所以,输入到一个标识符中间的空格会将标识符分成前后两半,成为两个与原来不同的标识符。)

## 合并行

在 C++ 中,行末的 `\` 符号表示该行未结束,下一行是该行的延续。例如:
Expand Down Expand Up @@ -69,5 +75,18 @@ C++ 中有两种注释方式:
注意,对于单行注释,如果行末有合并行的`\`字符,这一行会和下一行合并,注释会直到合并后的行末。
::: caution TODO: 举例
:::
例如:
```cpp
// 这是一个单行注释
std::println("Hello, World!"); // 这也是一个\
单行注释
```

```cpp
/*
这是一个多行注释
这是第二行
*/
std::println("Hello, World!"); /* 这也是一个多行注释 */
```

0 comments on commit 2219b52

Please sign in to comment.