2011 年,C++ 标准委员会发布了 ISO C++ 标准的一个重要修订版
C++ 11;该修订版是 C++
语言演进过程当中的重要一步,也是当前获得编译器(GCC、LLVM、Qt5、Visual
C++支持较多,兼容性最为优秀的一个版本。增添了类型说明符auto
和decltype
、Lambda 表达式
、智能指针 unique_ptr shared_ptr weak_ptr
、空指针 nullptr
等诸多新特性,语言风格更加灵活统一的同时,极大提升了程序的编写效率。
本文基于《C++ Primer》一书最新的第 5 版撰写而成,该书作为 C++ 语言学习的经典读物,同样与时俱进增添了 C++ 11 的诸多新特性。因此,本文也选择了支持 C++ 11 标准的 Qt5 作为开发编译环境。由于 C++ 面向过程的语法与 C 语言类似,而笔者之前已经在《Linux C 标准程序设计》一文对相关内容进行了详尽的表述,因而本文将会着重笔墨水介绍 C++ 面向对象以及标准库方面的内容。