初学者应优先掌握main函数、#include、std::cout/std::cin、基本类型、变量声明与赋值、if/for六类内容;学完即可编写可运行调试的小程序,避免因编译错误如undefined reference to `main'而受挫。

初学者直接上手 C++,必须优先掌握 main 函数、#include、std::cout/std::cin、int/double/std::string、变量声明与赋值、if/for 这六类内容——其他全是干扰项。学完这六类,就能写可运行、可调试、可验证逻辑的小程序,比如成绩判断、阶乘计算、简单菜单交互。
为什么不是先啃“类”或“指针”?
因为 C++ 入门最真实的卡点不是语法难,而是「编译不通过却不知道哪行错了」。新手第一次遇到 undefined reference to `main' 或 no matching function for call to 'cout ,90% 源于头文件没包含、命名空间没处理、函数签名写错——这些都发生在最基础的输入输出和控制流环节。
常见错误现象:
-
cout报错:漏了#include <iostream></iostream>或没写using namespace std;(或坚持用std::cout) -
string无法使用:只写了#include <iostream></iostream>,忘了加#include <string></string> - 程序一闪而过:Windows 下没加
std::cin.get()或system("pause")(不推荐后者)
哪些知识点可以暂时跳过?
初学阶段主动绕开以下内容,不是不重要,而是会严重拖慢「写出第一个能跑通的程序」的节奏:
-
new/delete:动态内存对新手等于黑盒,先用std::vector和局部变量 - 函数重载、缺省参数、内联函数:语法糖,无实际业务驱动时纯属增加理解负担
- 引用(
&):和指针一起讲才合理,单独提前引入反而混淆int& x = y和int* p = &y的区别 - 命名空间嵌套、自定义命名空间:
std够用三个月,别急着造轮子
第一个星期该敲什么代码?
按顺序实操这四段,每段改一个数、换一个变量名、加一行输出,确保全部能编译+运行+看到结果:
#include <iostream>
#include <string>
using namespace std;
int main() {
string name = "Alice";
int score = 87;
if (score >= 90) {
cout = 60) {
cout <p>重点观察:</p>
<ul>
<li>删掉 <code>#include <string></string></code> 会报什么错?</li>
<li>把 <code>string name</code> 改成 <code>char name[] = "Alice"</code> 会怎样?(先别深究,只看是否编译过)</li>
<li>在 <code>if</code> 前加一行 <code>score = 95;</code>,输出变了吗?</li>
</ul>
<p>真正容易被忽略的是:所有初学者都会在 <code>std::cin >> score;</code> 后立刻写 <code>cout ,但若用户输的是字母,<code>score</code> 不会变,<code>cin</code> 状态会卡住——这个坑要到第二周用 <code>cin.clear()</code> 和 <code>cin.ignore()</code> 才能填上。</code></p></string></iostream>C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!











