数据类型(type)

简称类型

是具有相同特征的数据的集合,是一个抽象概念

C++的数据类型主要分为三种:

原始数据类型:内置或预定义的数据类型,用户可以直接使用它们声明变量。例如:int,char,float,bool等

整数、字符、布尔型、浮点、双浮点数、void、宽字符 等

派生数据类型:从原始或内置数据类型派生的数据类型

函数

数组

指针

引用

用户自定义类型:这些数据类型由用户自己定义

结构体

union:在并集中,所有成员共享相同的内存位置

枚举类型

typedef:为 复杂的声明 定义 简单的别名

20200401135258635

变量类型

变量:数据保存在计算机中,是存储在内存中的某一块空间上,这块用来存储数据的空间就是变量,给这块空间命的名就是变量名

变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。C变量

变量类型就是存储在变量中的数据的数据类型

变量的值就是变量这块空间中存储的数据的值

变量的定义

变量的定义,告知编译器 在内存申请一块空间 用来存储数据,数据类型是什么,空间名(即变量) 叫什么,数据的值 是什么

变量的声明,只告知编译器 在内存申请一块空间 用来存储数据,数据类型是什么,空间名(即变量) 叫什么,关于数据的值,则没有说明

变量的定义和声明都会在内存中申请出一块空间,区别在于是否赋予变量(中的数据)具体的值

无论是声明还是定义,都要指定 变量的类型,因为要按照数据类型在内存中申请对应的具体大小的空间

用户自定义类型的定义

函数的定义

函数的定义,告知编译器 函数的返回值类型、函数名、参数、函数的实现

函数的声明,只告知编译器 函数的返回值类型、函数名、参数,不进行函数的实现

函数的定义 = 函数的声明 + 函数的实现

类的定义

类的定义,告知编译器 类的名称、类的私有成员、类的公有成员、类的成员变量的声明、类的成员函数的定义

类的声明,告知编译器 类的名称、类的私有成员、类的公有成员、类的成员变量的声明、类的成员函数的声明,不进行类的成员函数的实现

类的实现,就是类的成员函数的实现

类的定义 = 类的声明 + 类的(成员函数)的实现

类和函数,有声明但没有实现,则是未定义,编译器会报错类或函数未定义(undefined)

没有声明,则编译器会报错未声明(unclear)

一般来说,在定义函数和类时,在头文件中声明,在源文件中实现

不过模版类不支持分离编译(见另一篇日记),因此要在同一个文件中(一般是头文件)完成定义

类和对象

类是一种用户自定义类型

STL是一个 标准 模板类 库

类是一个数据类型,是一个抽象的概念

对象是类的实例化,对象是变量

类是封装对象的属性和行为的载体,而对象的属性以成员变量的形式存在。对象的方法以成员方法的形式存在,在成员方法内定义的变量为局部变量