程序设计语言的目的是帮助我们用代码来表达思想。因此,一种程序设计语言要完成两个相关的任务:
1. 为程序员提供一个工具,用来指明需要由计算机执行什么动作
2.为程序员提供一组概念,用于思考能做些什么
对于第一个目标,理想情况是语言更“靠近机器”,使得程序员能很容易地找到方法来简单高效地处理计算机所有重要的方面。C语言最初就是出于这种考虑而设计的。第二个目标理想情况下要求语言更“”接近带求解的问题“”,这样就能直接而具体地表达问题求解方案的概念。在创造C++时向C添加的那些特性,如函数实参检查、const、类、构造函数和析构函数、异常及模板,就是从这个角度考虑而设计的。因此,C++的设计理念是同时提供:
- 将内置操作和内置类型直接映射到硬件,从而提供高效地内存利用率和高效地底层操作;
- 灵活且低开销的抽象机制,使得用户自定义类型无论是符号表达、使用范围还是性能都能与内置类型相当
C++的设计一直都重点关注那些处理基本概念的程序设计技术,这些基本概念包括内存、易变性、抽象、资源管理、算法的表达、错误处理及模块化