- 代码区:存放函数体二进制代码,由操作系统进行管理
- 全局区:存放全局变量和静态变量以及常量
- 栈区:由编译器自动分配释放,存放函数的参数值,局部变量
- 堆区:由程序员分配和释放,程序结束由操作系统收回
1、代码区存放cpu执行的机器指令,代码区是共享的和只读的
2、全局区存放全局变量,静态变量,常量。常量区:字符串常量和其他常量,程序结束时,系统自动释放
3、堆区
堆区数据是利用new关键字进行开辟,用指针接收数据
int *p=new int(10);
delete p;
创建数组的时候
int * arr=new int[10];
delete[] arr;//释放数组的时候加[];
引用
语法:数据类型 &别名=原名;
引用必须初始化,引用初始化之后不可以更改;
引用作为函数参数,可以形参修饰实参;
引用可以作为函数返回值存在,但是不能返回局部变量
函数作为左值的时候一定是引用作为返回值。引用の本质是内部实现了指针常量:指针指向不能变,值可以变。常量指针是指针只想可以变,值不能变。
函数重载
函数重载满足的条件:
同一作用域下;函数名称相同;函数参数类型不同或者个数不同或者顺序不同;
函数返回值不同不能作为函数重载的条件