c++的类
c++中的封装指的就是创建c++的类。
C语言中的struct与c++中的class类似:结构体是一种构造类型,可以包含多种变量,每个变量有相同的性质,但是不能包含成员函数;而c++中的类也是一种构造类型,其中类的成员不只是包含成员变量,还能包含成员函数,而通过类定义出的变量,称为”对象“。
通过类名,创建类的对象的过程叫做类的实例化,因此类的对象也叫做实例。同时,c++的成员变量也叫做属性,将类的方法称为方法。
在Linux下主要是使用g++命令。
命名空间
命名空间主要是为了解决开发过程中,相同的函数名和变量的冲突。
关键字:namespace 空间名字{}
其中大括号内可以是变量、函数、类、typedef、#define 等;
使用关键字是:using namespace 空间名字;
左值和右值
左值:指向内存位置的表达式,左值可以在赋值号的左边和右边
右值:存储在内存中的某些地址的数值,只能出现在赋值号的右边。
变量作用域
声明变量的三个区域是:1、函数或者代码块的内部声明,称为局部变量;
2、形式参数,函数参数中的定义;3、全局变量,所有函数的外部声明
注意:对于全局变量,整个函数周期内,所有函数都对其有访问权;对于局部变量,如果和全局变量同名,函数内,局部变量的值就会覆盖全局变量的值
常量
常量指固定值,不会再程序运行期间发生值的改变。包含:整数常量、布尔常量、字符常量、整型常量、字符串常量等。定义常量的关键字:const ,#define
存储类
存储类定义c++程序中的变量/函数的范围(可见)和声明周期,主要的关键字有:auto,register,static,extern,mutable
注意:auto只是用来存储局部变量的关键字;register用于定义存储在寄存器的局部变量,并不设计内存存储,用于定义快速访问的变量;
static是告诉编译器局部变量在程序的存储周期内都存在,不需要每次进入和推出该局部变量时,对其进行创建和销毁,用static修饰局部变量,可以在函数之间保持局部变量的值, static 用在类数据成员上时,会导致仅有一个该成员被类的所有对象共享。
extern存储类用于定义一个全局变量对所有的文件都可用。
c++运算符
运算符包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、杂项运算符。
位运算符:
c++指针
每一个变量都有其占的内存地址,每一个内存的地址都可以通过(&)运算符访问变量的内存地址;指针是一个变量,其内存的值是另一个变量的内存地址,每一个指针都是代表内存地址长度的16位进制数,只有通过(*)符号能够返回指向地址变量的值。
null指针又称为空指针,指向的地址为0,但是地址为0的内存是系统保留的内存地址,所以空指针就不指向可访问的内存地址。
对于指针的运算是可以进行++,–,-,+。指针的自增是移动到下一个内存地址。
将数组赋值给指针是指针指向数组元素的首地址。指针数组是指数组中的每一个元素都是指向一个地址。
引用
引用变量是一个名别名的操作,c++的引用和指针的三个差别:1、不存在空引用
2、一旦引用被初始化,就不能指向另一个对象;3、引用必须在创建时被初始化
函数返回引用,只需在函数名前加(&)。