学习资料
2025 冬季 InfiniTensor 训练营|C++ 实践课(一)
发表于:

2025 冬季 InfiniTensor 训练营|C++ 实践课(一)

"学编程"这件事,跟学中文、学英文是一个道理——不是靠背字典学会说话的,是靠"用"学会的。

所以这次冬季训练营 C++ 实践课,我们不念 PPT,不画架构图,打开电脑,现场写代码。 从新建一个文件夹开始,一步步搭项目,就跟你平时真正写代码一模一样。

整套课一共 4 节,今天是第一节,默认零基础,从最简单的地方讲起。

先把装备备齐

写 C++ 之前,得先搞定两个东西:WSL 和 VS Code。

WSL(Windows Subsystem for Linux):在你的 Windows 里塞一套 Linux 系统,不用装双系统,不用重启,打开就能用 Linux 的命令行。

那个黑底白字的窗口,就是终端(Terminal)。

你肯定在电影里见过——黑客啪啪啪敲几行代码,屏幕上刷一堆绿字,然后系统就被黑了。那个画面,就是终端。创建文件、编译代码、运行程序,敲一行命令就搞定,图形界面得点五六下。

VS Code 是个写代码的编辑器,免费、轻量、插件多。

在终端里进入项目文件夹后,输入一句 code .,当前文件夹就直接在 VS Code 里打开了。

而且 VS Code 自带终端,在里面敲 Linux 命令,跟系统终端效果一致。

记住这 5 个命令

这节课用到的 Linux 命令就 5 个,全是英文缩写,看一眼就记住了:

命令 英文全称 用途
ls list 列出当前目录下的所有文件与文件夹
cd 目录名 change directory 进入指定目录
mkdir 文件夹名 make directory 新建文件夹(目录)
cat 文件名 concatenate 在终端直接查看文件内容
code . 用 VS Code 打开当前目录

来,跟着做一遍,30秒搞定:

  • 输入 mkdir playground 创建项目文件夹
  • 输入 cd playground 进入该文件夹
  • 输入 ls 查看,文件夹为空,说明创建成功

就这么简单。你已经完成了程序员日常工作的第一步:建项目。

写下你的第一行 C++ 代码

先搞懂一件事:C++是编译型语言

你写的代码,计算机看不懂。它只认识 0 和 1。

所以 C++ 代码写完之后,得经过一个编译器,把你写的"人话"翻译成机器能跑的"机器话"(二进制指令)。这个过程叫编译。

流程就是:写代码 → 编译 → 运行。

创建第一个文件

在 playground 文件夹里,新建一个文件叫 main.cpp

.cpp 是 C++ 最常用的文件后缀,可以理解成"这是个 C++ 文件"的标记,跟 .jpg 是图片、.mp3 是音乐一个道理。

Hello World,启动!

打开 main.cpp,把下面这段代码敲进去:

#include <iostream>
using namespace std;
int main() {
    cout << "Hello World" << endl;
    return 0;
}

然后编译运行,终端上会蹦出一行:
Hello World
恭喜你,你已经是一个能写 C++ 的人了。

这几行到底在干嘛?

代码 它在干嘛
#include <iostream> 引入输入输出库,必须写,否则无法使用 cout/cin
using namespace std; 使用标准命名空间,简化代码书写
int main() 程序入口函数,程序从这里开始执行
cout C++ 标准输出,用于在终端打印内容
<< 流式输出符号,把内容传给输出流
endl 换行,让输出更整洁
return 0; 告诉操作系统:"我正常结束了"

变量:给数据找个"盒子"装起来

写程序免不了要存数据。C++ 里存数据的容器叫变量

可以把变量想象成一个贴了标签的盒子:盒子有类型(只能装特定的东西),标签是名字(方便你找它)。

两种最常用的数据类型:

  • int (integer):整数类型(如 0、1、100、-5)
  • double:双精度浮点数,存小数(如 3.14、2.72)

为什么有两种?因为计算机存整数和存小数的方式不一样。

double 精度比另一个叫 float 的更高。

怎么用?

运行
#include <iostream>
using namespace std;
int main() {
    double x = 3.14;
    double y = 2.72;
    cout << x + y << endl;
    return 0;
}

输出:5.86

重点来了:变量建议要初始化!

就是声明的时候就给它赋个值。不赋初值会出现"未定义行为(undefined behavior)",结果不可预测。

格式记好:类型 变量名 = 初始值;

让程序跟你"聊天":cin

上面的程序只能单向输出,像个广播。如果你想让用户输入点什么呢?用 cin

cin 是 C++ 标准输入流,可以理解成程序在等你打字。

来看个完整的例子:

#include <iostream>
using namespace std;

int main() {
    int x, y;
    cout << "请输入x的值:";
    cin >> x;                    // 程序停在这里,等你输数字、按回车
    cout << "请输入y的值:";
    cin >> y;
    cout << "x = " << x << endl;
    cout << "y = " << y << endl;
    cout << "x + y = " << x + y << endl;
    return 0;
}

运行之后,终端会显示:

请输入x的值:5
请输入y的值:3
x = 5
y = 3
x + y = 8

注意看符号:cout<<(往外送),cin>>(往里收)。箭头方向就是数据流动的方向,特别好记。

本节课的收获

  1. C++ 开发完整流程:新建文件 → 编写代码 → 编译 → 运行
  2. 命令行是编程基础,可高效管理文件与控制程序。
  3. 变量必须声明类型,尽量初始化,避免未定义行为。
  4. cout 负责输出内容,cin 负责读取输入,实现人机交互。
  5. 代码修改后一定要重新编译,否则运行结果不会更新。

写在最后

今天你已经跑通了第一个 C++ 程序,认识了终端,学会了变量和输入输出。这就是所有复杂程序的起点。

学编程没有捷径,但有正路——就是动手写。

本次课程回放可访问 InfiniTensor 官网:https://www.infinitensor.com 查看,或点击【阅读原文】跳转。