标签:wrap 参数类型 阶段 vpd htm 数据 有关 tst 拖拽
c++程序在运行的过程中,内存会被划分为以下四个分区
代码区:程序的所有程序的二进制代码,包括注释会被放到此区
全局区:存放静态变量、全局变量、常量(字符串常量和const修饰的常量),此区的数据将在程序结束后由操作系统释放
栈区:用于存放局部变量、函数参数等,是由编译器自动释放和分配,所以不能让栈区返回一个地址,
堆区:存储对象(使用new操作符,后面会介绍)由程序员分配释放,若我们不释放,程序结束由操作系统释放
c++中通过new关键字将数据开辟到堆区
如果是new一个数组
注意
代码区和全局区是程序编译成exe可执行文件的时候就已经有了,但是栈区和堆区是程序exe文件执行后产生的
将不同的数据放在不同的区域,赋予不同的生命周期,提高编程灵活程度
使用引用给一个变量起别名
前面文章中的地址传递会修改实参,值传递不会修改实参,引用作为函数参数会修改实参,简化使用指针修改实参的复杂过程
局部变量不能作为函数的返回值返回
如果是局部静态变量,可以返回
引用本质是指针常量
常量引用
前面c++基础系列有关函数知识有所描述,这里补充一些函数高级知识
1.c++中函数可以有默认值
2.c++函数中可以有占位参数用来占位,调用函数必需填补该位置
3.函数重载
定义:同一个作用域下,两个函数参数类型不同或者参数顺序不同或者个数不同。此时这两个函数名字可以相同。提高复用性
注意:函数返回值不能作为函数重载的条件
4.引用也可作为函数重载条件
5.函数重载遇到默认参数需要注意
C++入门到理解阶段二核心篇(1)——c++面向对象概述、内存分析、引用
标签:wrap 参数类型 阶段 vpd htm 数据 有关 tst 拖拽
原文地址:https://www.cnblogs.com/javayihao/p/11937691.html