一、C++的发展史
截止到2023年12月,C++已经更新了很多版本,并在每个版本中修复了bug和添加了新的特性,ISO C++委员会每三年会对C++进行一次更新:
- C++98:于1998年发布,是最早的国际标准化版本。它包含了面向对象编程、模板等基本特性。
- C++11:于2011年发布,被视为现代C++的开始。它引入了多个重要特性,如自动类型推导、基于范围的for循环、Lambda表达式、智能指针等。
- C++14:于2014年发布,以更大的灵活性和性能优化为目标。它引入了泛型Lambda表达式、返回类型后置等新特性,进行了增量式改进。
- C++17:于2017年发布,进一步完善C++特性。它引入了模块、概念、协程等重要特性,对C++语言进行了较大的扩展。
- C++20:在2020年发布,是C++语言的最新标准之一。它引入了许多新特性和改进,包括对概念的支持、模块化的引入、协程的支持等。
- C++23:预计于2023年发布,将包含一系列新特性和改进,旨在提高语言的可用性、安全性和性能。
这些标准制定了C语言和C++的基本规范,各个编译器需要支持这些标准以确保代码的正确执行和相互兼容。在实际编程过程中,需要根据所使用编译器的支持情况选择合适的标准。
二、C++程序从cpp源代码到程序执行的过程
- 通过编辑器编写.cpp源文件;
- 编译源代码,通过编译器将源代码翻译成机器能够识别的机器语言,一般后缀为“.o”或“.obj”,也可以被称为目标代码;
- 链接过程,将目标代码同使用的函数的目标代码以及一些标准的启动代码组合起来,生成程序的运行文件(windows:exe;linux:".out"或".elf")。