java/Python这么火,c++这么难,为什么我们还要选择用C++?
C++ 可算是一种声名在外的编程语言了。这个名声有好有坏,从好的方面讲,C++ 性能非常好,哪个编程语言性能好的话,总忍不住要跟 C++来单挑一下;从坏的方面讲,它是臭名昭著的复杂、难学、难用。当然,这样一来,熟练的 C++程序员也就自然而然获得了“水平很高”的名声,所以这也不完全是件坏事。
不管说 C++ 是好还是坏,不可否认的是,C++仍然是一门非常流行且非常具有活力的语言。继沉寂了十多年,并终于发布语言标准的第二版——C++11——之后,C++以每三年一版的频度发布着新的语言标准,每一版都在基本保留向后兼容性的同时,提供着改进和新功能。本专栏主要就是讲这些新特性以及相关的编程实践。在讲所有这些细节之前,我想先讲一讲为什么要用C++,什么时候该用 C++,及如何学习 C++。
C++ 的意义
C++ 程序员应该都听到过下面这种说法:
C++ 是一门多范式的通用编程语言。
多范式,是因为 C++ 支持面向过程编程,也支持面向对象编程,也支持泛型编程,新版本还可以说是支持了函数式编程。同时,上面这些不同的范式,都可以在同一项目中组合使用,这就大大增加了开发的灵活性。因此,C++ 适用的领域非常广泛,小到嵌入式,大到分布式服务器,到处可以见到 C++ 的身影。
下面是一些著名的用到 C++ 的场合:
-大型桌面应用程序(如 Adobe Photoshop、Google Chrome 和 Microsoft Office)
-大型网站后台(如 Google 的搜索引擎)
-游戏(如 StarCraft)和游戏引擎(如 Unreal 和 Unity)
-编译器(如 LLVM/Clang 和 GCC)
-解释器(如 Java 虚拟机和 V8 JavaScript 引擎)
-实时控制(如战斗机的飞行控制和火星车的自动驾驶系统)
-视觉和智能引擎(如 OpenCV、TensorFlow)
-数据库(如 Microsoft SQL Server、My