Loading docs/lang/basic.md +7 −3 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ int main() { ??? note "什么是 include?" `#include` 其实是一个预处理命令,意思为将一个文件“放”在这条语句处。也就是说,在编译时,编译器会“复制” `iostream` 头文件中的内容,“粘贴”到 `#include <iostream>` 这条语句处。这样,你就可以使用 `iostream` 中提供的 `std::cin` 、 `std::cout` 、 `std::endl` 等对象了。 如果你学过 C 语言,你会发现 C++ 中的头文件一般都不带 `.h` 后缀,而那些 C 语言中的头文件 `xx.h` 都变成了 `cxx`,如 `stdio.h` 变成了 `cstdio`。 一般来说,应当根据你需要使用的 C++ 内置的函数、对象来确定你要 `#include` 哪些头文件。但如果你 `#include` 了多余的头文件,也几乎不会造成什么影响。 可以 `#include` 自己写的头文件吗?答案是,可以。 Loading Loading @@ -143,6 +145,8 @@ int main() { ??? note "什么是 \n?" `\n` 是一种 **转义字符** ,表示换行。 转义字符用来表示一些无法轻易输入的字符,如由于字符串字面值无法换行而无法输入的换行符,由于表示字符串字面值的开头结尾而无法输入的引号,由于表示转义字符而无法输入的反斜杠。 常用的转义字符还有: 1. `\t` 表示制表符。 Loading @@ -161,7 +165,7 @@ int main() { 在 C++ 中,所有空白字符(空格、制表符、换行),多个或是单个,都被视作是一样的。(当然,引号中视作字符串的一部分的不算。) 因此,你可以自由地使用任何码风(除了行内注释、字符串字面值与预处理命令必须在单行内),例如: 因此,你可以自由地使用任何代码风格(除了行内注释、字符串字面值与预处理命令必须在单行内),例如: ```cpp /* clang-format off */ Loading Loading @@ -232,7 +236,7 @@ int main() { } ``` 在 C++ 中,使用宏是不被推荐的。常量应当使用 `const` 限定符声明,宏应当使用函数代替。 使用 `#define` 是有风险的,因此应谨慎使用。较为推荐的做法是,常量使用 `const` 限定符声明,宏使用函数代替。 但是,在 OI 中, `#define` 依然有用武之处: Loading Loading
docs/lang/basic.md +7 −3 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ int main() { ??? note "什么是 include?" `#include` 其实是一个预处理命令,意思为将一个文件“放”在这条语句处。也就是说,在编译时,编译器会“复制” `iostream` 头文件中的内容,“粘贴”到 `#include <iostream>` 这条语句处。这样,你就可以使用 `iostream` 中提供的 `std::cin` 、 `std::cout` 、 `std::endl` 等对象了。 如果你学过 C 语言,你会发现 C++ 中的头文件一般都不带 `.h` 后缀,而那些 C 语言中的头文件 `xx.h` 都变成了 `cxx`,如 `stdio.h` 变成了 `cstdio`。 一般来说,应当根据你需要使用的 C++ 内置的函数、对象来确定你要 `#include` 哪些头文件。但如果你 `#include` 了多余的头文件,也几乎不会造成什么影响。 可以 `#include` 自己写的头文件吗?答案是,可以。 Loading Loading @@ -143,6 +145,8 @@ int main() { ??? note "什么是 \n?" `\n` 是一种 **转义字符** ,表示换行。 转义字符用来表示一些无法轻易输入的字符,如由于字符串字面值无法换行而无法输入的换行符,由于表示字符串字面值的开头结尾而无法输入的引号,由于表示转义字符而无法输入的反斜杠。 常用的转义字符还有: 1. `\t` 表示制表符。 Loading @@ -161,7 +165,7 @@ int main() { 在 C++ 中,所有空白字符(空格、制表符、换行),多个或是单个,都被视作是一样的。(当然,引号中视作字符串的一部分的不算。) 因此,你可以自由地使用任何码风(除了行内注释、字符串字面值与预处理命令必须在单行内),例如: 因此,你可以自由地使用任何代码风格(除了行内注释、字符串字面值与预处理命令必须在单行内),例如: ```cpp /* clang-format off */ Loading Loading @@ -232,7 +236,7 @@ int main() { } ``` 在 C++ 中,使用宏是不被推荐的。常量应当使用 `const` 限定符声明,宏应当使用函数代替。 使用 `#define` 是有风险的,因此应谨慎使用。较为推荐的做法是,常量使用 `const` 限定符声明,宏使用函数代替。 但是,在 OI 中, `#define` 依然有用武之处: Loading