C++支持包括面向过程、面向对象、函数式、泛型和元编程形式的多重泛型编程语言。面向过程关注的是处理过程,“确定你需要的过程并采用你能找到的最好的算法”。面向对象关注的是问题中的事物,根据问题“确定你需要哪些类,为每个类提供完整的一组操作,利用继承明确表示共性。”。函数式编程将计算机运算看作是数学中函数的运算,避免了状态以及变量的概念。泛型编程是利用模板,将原本特定于某个类型的算法或类当中的信息抽取出来作为模板参数,支持开发一般化可重复使用的算法。元编程是指编写某类计算机程序,该计算机程序以数据的形式编写或操纵其他程序。
C++是有多个语言子集组成的语言联邦,将以上这些特征清晰而优美地集成在整个语言之中,支持通过组合各个语言特征或提供尽可能少的各个语言独立的特征来得到问题的解决方案。任何特征的实现都不会对未使用这个特征的程序增加额外的开销。用户只需了解自己写程序中需要的一个语言子集。
C++语言的主要语言子集包括以下四类:
- C。C++是以C语言而基础的,语句、预处理器、内置数据类型、数组、指针等概念都来自C&