🔷 第一章 初识C++
📄 一句话概括

写完第一个程序,接下来要"看懂"它。C++ 的东西分两个视角:工程视角(外面)——一个项目文件夹里有哪些文件、谁管谁(.dev 记账、.cpp 写代码、.exe 是成品),对应 1.3.1;代码视角(里面)——一个 .cpp 文件里那几行各是什么角色(引入库、入口函数、输出语句、返回值),对应 1.3.2。两个视角都要会:出问题时,先判断是"文件层面"坏了(找不到文件、改动没生效)还是"代码层面"坏了(编译报错、逻辑不对)。

一、为什么要分两个视角

二、视角一:工程层面(1.3.1 展开)

一个 C++ 项目文件夹里通常躺着这几类东西:

文件 角色 生活比喻
xxx.dev 工程文件:记录本工程有哪些源文件、用什么编译选项 记账本
xxx.cpp 源文件:你写的代码正文 正文稿
xxx.o 编译中间产物(目标文件) 半成品
xxx.exe 链接后生成的可执行程序 做好的菜
Makefile.win 给编译器看的"施工图" 施工图

三、视角二:代码层面(1.3.2 展开)

一个最简 C++ 程序由四段构成:

  1. 引入库——#include <iostream>:告诉编译器"我要用输入输出功能"
  2. 名字空间——using namespace std;:省得每次写 std::cout
  3. 入口函数——int main() { ... }:程序从这里开始执行,必须有且只有一个
  4. 语句与返回值——cout << ...;、return 0;:干活与交差

记住这个骨架:以后写任何 C++ 程序,都是在这个骨架上"加料"——加变量、加判断、加循环、加函数。

四、动手:把视角切换练一遍(对照 1.2.3 的成果)

视角一动作:打开资源管理器进 D:\cpp,数一数有几个文件。看到什么算成功:能看到 hello.cpp 和 hello.exe(可能还有 .o、Makefile.win 之类)——这就是工程视角的实物。

视角二动作:用 Dev-C++ 打开 hello.cpp,从上到下标出四段结构。看到什么算成功:你能指着每一行说出"它是干什么的"——说不出的那几行,就是 1.3.2 要解决的。

30 秒实验:把 hello.cpp 复制一份改名 hello2.cpp,双击打开——你会发现它是个纯文本文件,.cpp 说到底就是"带特定写法的文本文件"(这也是为什么用记事本也能写 C++,只是没有编译按钮)。

五、常见误区

  1. "结构是用来背的"——不是背,是"用来看的":将来读到别人的代码,先用这个骨架拆一遍,理解速度立刻不一样
  2. "文件多了才需要工程视角"——单文件也有工程:.dev、.cpp、.exe 的关系搞清楚,才能回答"我改了代码为什么运行结果没变"
  3. "代码结构 = 语法细节"——结构是"有哪些部分、各部分干什么";语法是"标点符号怎么写"。两者分开学,先结构后细节
自测三问(点开对答案) 1. 两个视角分别看什么?——工程视角看文件层面的组织(有哪些文件、谁管谁);代码视角看单个文件内部的骨架(引入库/入口/语句/返回值)。 2. 为什么要两个都懂?——排障时先判断是哪一层坏了:文件层(找不到文件、改动没生效)还是代码层(编译报错、逻辑错)。 3. 一个最简 C++ 程序的四段结构?——`#include` 引入库、`using namespace` 名字空间、`int main(){}` 入口函数、`cout` 语句与 `return 0;`。

相关笔记