C++的概述
C++是完全兼容C语言的编译与执行的,可以说C语言的补充也不为过。据说是为弥补C语言的不足,而推出的强类型的语言,不过C语言还是当今最热门的语言,C语言的优势执行效率高语言简洁仍然受到大多数程序员的推崇,对于C++的评价是复杂的,早期的C++可能受到了大多数的喜爱和期望,但是随着越来越多复杂的特征的引入,没有在语言限制合理编写规范,导致业界对C++的评价是越来越差,但是由于先占坑原因,社区已经存在了大量优秀支持完备的第三方库,就比如音视频、网络相关,现在有些大佬对于初学者的建议是,除非涉及的项目需要依赖优秀的社区库,否则不用C++,比如Web之类就已经特别多的优秀语言
c++ 的类型系统
c++类型系统中,最基础的类型如int、double,这些有点像JAVA的基本数据类型、关键字类型,由于C语言对文本的支持不好,C++提供标准库提供很好的实现,如类 std::basic_string。当然C++也支持自定义类型(使用class或者Struct创建自己的类型)
C++类型术语
标量类型(scaler type):包含定义范围的单个值的类型1。 标量包括算术类型(整型或浮点值)、枚举类型成员、指针类型、指针到成员类型以及 std::nullptr_t。 基本类型通常是标量类型。
复合类型:不是标量类型的类型。 复合类型包括数组类型、函数类型、类(或结构)类型、联合类型、枚举、引用和指向非静态类成员的指针。
变量:数据量的符号名称。 该名称可用于访问它在整个定义代码范围内引用的数据。 在 C++ 中,变量通常用于指标量数据类型的实例,而其他类型的实例通常称为对象。
对象:为了简洁一致,本文使用术语“对象”指代类或结构的任何实例。 在一般意义上使用时,它包括所有类型,甚至标量变量。
POD 类型(纯旧数据):C++ 中的此类非正式数据类型类别是指作为标量(参见基础类型部分)的类型或 POD 类。 POD 类没有不是 POD 的静态数据成员,没有用户定义的构造函数、用户定义的析构函数或用户定义的赋值运算符。 此外,POD 类无虚函数、基类、私有的或受保护的非静态数据成员。 POD 类型通常用于外部数据交换,例如与用 C 语言编写的模块(仅具有 POD 类型)进行的数据交换。
Footnotes
-
scaler type我的理解是有限定范围的单独值 ↩