一、C++概述与环境搭建

大家好,欢迎来到《C++与Qt从入门到精通》的第一章。

说实话,每次带新人入门,我都要先问一句:你为什么要学C++?

有人是为了做游戏,有人是为了搞嵌入式,还有人纯粹是被学校逼的。但不管什么原因,C++这门语言,你一旦入了坑,就很难再出来。因为它太强了,也太复杂了。

这一章,我们不急着写代码。先聊聊C++是什么、能干什么,再把开发环境搭好。最后,写一个经典的Hello World,算是给这门课打个招呼。

1.1 C++的历史:从C到C++的进化

C++诞生于1979年。那时候,一个叫Bjarne Stroustrup的丹麦人,在贝尔实验室工作。他觉得C语言虽然好,但写大型项目太痛苦了——尤其是管理数据和函数的关系。

于是,他给C语言加了“类”的概念。最初叫“C with Classes”,后来改名为C++。那个“++”是C语言的自增运算符,意思是“C语言的升级版”。

我个人觉得,C++最牛的地方在于:它既保留了C语言的高性能,又引入了面向对象编程。你想想看,一个语言能同时搞定底层硬件和大型软件架构,这得多厉害。

年份里程碑
1979Bjarne开始开发“C with Classes”
1983正式命名为C++
1998第一个国际标准C++98发布
2011C++11发布,现代C++时代开启
2017C++17,进一步简化语法
2020C++20,模块、协程等重磅特性

嗯,这里要注意:C++11是一个分水岭。如果你还在写老式C++,赶紧升级。我在项目中遇到过不少同事,用着C++98的语法写新项目,结果代码又长又容易出bug。说白了,现代C++已经比过去优雅太多了。

1.2 C++的特点:为什么它至今仍是王者

C++有几个核心特点,我简单列一下:

  • 高性能:直接操作内存,没有垃圾回收,运行效率极高。游戏引擎、高频交易系统都用它。
  • 面向对象:封装、继承、多态,写大型项目时,代码组织起来很清晰。
  • 泛型编程:模板机制,让你写一次代码,支持多种数据类型。
  • 跨平台:Windows、Linux、macOS,甚至嵌入式设备,都能跑。
  • 与C兼容:几乎所有的C代码都可以直接在C++里编译。

你可能会问:现在Python这么火,为什么还要学C++?

原因很简单:Python是“方便”,C++是“控制”。当你需要精确控制每一字节内存、每一个CPU周期时,C++是唯一的选择。我做过一个实时音频处理的项目,用Python延迟太高,换成C++后,延迟从50ms降到了5ms。这就是差距。

1.3 应用领域:C++都在哪里发光

C++的应用领域非常广。我随便举几个:

  • 游戏开发:Unreal Engine、Unity底层都是C++。
  • 桌面软件:Photoshop、Office、Chrome,核心都是C++。
  • 嵌入式系统:智能手表、路由器、汽车ECU。
  • 金融系统:高频交易、风险计算,速度就是金钱。
  • Qt框架:跨平台GUI开发,我们这门课的核心。

说白了,只要你对性能有要求,C++就是首选。

1.4 安装开发环境:MinGW/GCC、VS Code或CLion

好,理论说完了,咱们开始动手。

要写C++代码,你需要两样东西:

  1. 编译器:把C++代码变成可执行文件。
  2. 编辑器/IDE:写代码的地方。

我推荐两种组合:

组合适用人群说明
MinGW + VS Code初学者、轻量用户免费、轻量、配置灵活
CLion专业开发者功能强大,但收费(学生免费)

1.4.1 安装MinGW/GCC

MinGW是Windows上的GCC编译器。安装步骤如下:

  1. 访问MinGW官网,下载安装器。
  2. 运行安装器,选择 mingw32-gcc-g++mingw32-base
  3. 点击 Installation -> Apply Changes
  4. C:\MinGW\bin 添加到系统环境变量Path中。

验证安装:打开命令行,输入 g++ --version。如果看到版本信息,就说明成功了。

小技巧: 我个人习惯把MinGW装在C盘根目录,路径里不要有中文和空格,否则后面编译会出一些奇怪的问题。

1.4.2 配置VS Code

VS Code本身只是一个编辑器,需要安装插件才能编译C++。

  1. 安装VS Code。
  2. 安装C/C++插件(由Microsoft提供)。
  3. 安装Code Runner插件(方便一键运行)。
  4. 创建一个文件夹,比如 cpp_learning,用VS Code打开。
  5. 新建一个文件 hello.cpp

如果你用CLion,那就更简单了:新建项目,选择C++ Executable,CLion会自动帮你配置好编译器。

注意: 我曾经遇到过一个问题:VS Code编译时提示“g++不是内部或外部命令”。后来发现是环境变量没配好。所以,配完环境变量后,一定要重启VS Code,或者重启电脑。

1.5 编写第一个Hello World程序

好了,环境搭好了,我们来写第一行C++代码。

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

这段代码很简单:

  • #include <iostream> 引入输入输出流库。
  • int main() 是程序的入口函数。
  • std::cout 是标准输出流,用来打印内容。
  • std::endl 是换行符。
  • return 0; 表示程序正常结束。

在VS Code里,按 Ctrl+Shift+B 编译,或者用Code Runner直接运行。你会看到终端输出:

Hello, World!

嗯,这一刻,你正式踏入了C++的世界。

核心要点: 第一个程序虽然简单,但它包含了C++程序的基本骨架:头文件、主函数、输入输出、返回值。以后所有的程序,都是在这个骨架之上扩展的。

1.6 本章知识体系

为了让你更直观地理解本章内容,我画了一张图。它展示了C++概述与环境搭建的核心逻辑:

C++概述与环境搭建 C++历史 1979年诞生 C with Classes → C++ C++11开启现代C++ C++特点 高性能、面向对象 泛型编程、跨平台 与C兼容 应用领域 游戏、桌面软件 嵌入式、金融 Qt框架 环境搭建 MinGW/GCC编译器 VS Code / CLion Hello World #include <iostream> int main() { ... } std::cout 打好基础,准备进入C++核心语法

这张图把本章内容串起来了。你看,从历史到特点,再到应用领域,最后落到环境搭建和第一个程序。每一步都是环环相扣的。

我的建议: 初学者不要急着看后面的内容。先把环境搭好,把Hello World跑通。这一步虽然简单,但能让你建立信心。我当年学C++时,第一个程序跑了三天才跑通——因为编译器配置错了。所以,别怕折腾,折腾本身就是学习。

公众号:蓝海资料掘金营,微信deep3321