# C++ hello world!

image-20240113193851273

C++ 是一种高级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。

# 为什么要学c++?image-20240113194334097

想必刚接触编程的很多同学心中一定有疑惑:“各种新语言层出不穷,Python、Java、C#,今天学习 C++ 的意义何在?”其实这个问题在笔者看来并不能轻易做决断,一个编程语言的价值应该从多个角度去看。

C++ 可以说是 C 语言的继承,20 世纪 70 年代中期,Bjarne Stroustrup 希望有一门语言既要编程简单、正确可靠,又要运行高效、可移植。1979 年,Bjame Sgoustrup 到了 Bell 实验室,开始从事将 C 改良为带类的 C(C with classes)的工作。1983 年该语言被正式命名为 C++。它既可以进行 C 语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

# C++ 能做什么?

在每年的 TIOBE 编程语言排行榜中,我们可以看到 C++ 一直保持在该榜单的前五名,为什么 C++ 的生命力一直这么旺盛?

因为 C++ 有一个最重要的特性,就是在某些领域具有不可替代的作用。驱动是要用 C++、启动代码是要用 C++、就连 Android 的的底层也和 C++ 脱不了关系。虽然 C++ 在很多专业应用中,无法施展拳脚;但在不少领域,却如同巨人一般又是不可或缺的顶梁柱。在游戏、HPC、编译器、金融财务领域等领域中,C++ 一直保持着唯我独尊的状态。

游戏行业:几乎所有 3A 游戏都是使用 C++ 编写的。大众公认电子游戏的开发者是软件行业里回报最高的工作之一,也是需求量最大的领域之一。因为速度非常重要,所以编写高效的代码就是最基本的要求。

HPC:以极限速度处理数据,要求对底层硬件有深刻的理解,这类知识可以直接应用在语言中。通用图形处理器及 CUDA、OpenCL 之类的并行计算框架的出现,引发了对有这类技术的 C++ 程序员的需求。

编译器:LLVM 项目如此成功,以致于很难找到一种既未使用 LLVM 库编写前端,也没有使用 LLVM 生成字节码的流行语言,而这些全都离不开 C++。

除此之外,金融领域也有很多工作需要有能力编写低延迟代码的程序员。在这个领域,数学背景也是一大加分亮点。

# 如何学好 C++?

读书读书!!!!!

可以试着读一读《C++ Primer(第6版)》

# C++ 需要不断地练习。——vczh

笔者一直提倡实践是第一位,一边学习,一边练习是非常好的学习方式。在看懂教材后及时着手去写代码,千万不要停留在阅读后的满足。计算机是一门注重实践的学科,学习任何编程语言都需要不断地练习,有时间陶醉于阅读后的满足不如去写两行代码。

其次你可以利用你的兴趣,比如你看到一个好玩的游戏,你可以想想:“我怎么能做一个功能相似的小玩意出来?做不到的话我能不能做个简化版的?”用自己所学到的知识尝试实现一下,不管有没有结果,有尝试有思考就是进步。

当然,你也可以找一些开源项目进行练习。找一些小项目进行练习不仅能够提高你的编码能力,还可以在实践中发现自己的不足。通过不断地练习,你一定会成为你想变成的大神。

# 除了编程语言,还要学什么?

如果你想成为一位计算机大神,仅仅学懂一门编程语言当然是不够的。

如果你还是一名中小学生或大学生,笔者建议你可以走竞赛路线。中小学生参加 NOIP(信息学奥赛)不仅能够培养自身的编程思维,对升学考试也是有非常大的帮助;大学生可以选择参加 ACM-ICPC 或蓝桥杯等竞赛,这些竞赛除了能够锻炼自己的算法能力,对毕业后找工作的帮助也是极大的。

image-20240113194243130

# 总结

好了不多说了,语言只是工具,看你用来干什么。

# 01)c++第一个程序

#include <iostream>

using namespace std;
int main(int argc, char** argv) {
	
	cout << "hello word!";
	return 0;
}
1
2
3
4
5
6
7
8

image-20240113193515273

结果

image-20240113193634459

# 02)看看编译后文件目录

image-20240113193747302

Last Updated: 8/25/2024, 2:35:35 AM