栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习笔记(6):内存四区、引用、函数高级

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习笔记(6):内存四区、引用、函数高级

文章目录
  • 一、内存四区
    • 1.1 全局区
    • 1.2代码区
    • 1.3 栈区
    • 1.4 堆区
  • 二、引用
    • 2.1 引用的基本语法
    • 2.2 引用的注意事项
    • 2.3 引用做函数参数
    • 2.4 引用做函数返回值
    • 2.5 引用的本质
    • 2.6 const 修饰引用形参
  • 三、函数高级
    • 3.1 函数默认参数
    • 3.2 函数占用参数
    • 3.3 函数重载

一、内存四区

程序运行前

1.1 全局区

(1)用于存放全局变量和静态变量;
(2)里面细分有一个常量区,字符串常量和其它常量也存放在此。
(3)该区域是在程序结束后由操作系统释放。

1.2代码区

(1)存放CPU执行的机器指令;
(2)代码区是共享的,频繁执行的程序只需要内存中的一份代码;
(3)代码是只读的,防止意外修改。

程序运行后

1.3 栈区

(1)由编译器自动分配释放,存放函数的形参、局部变量等。
(2)注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。

1.4 堆区

一般由程序员手动分配释放(动态内存申请与释放),若程序员不释放,程序结束时可能由操作系统回收。

new操作符
作用:在堆区开辟数据;
delete操作符
作用:手动释放堆区开辟的数据。

二、引用 2.1 引用的基本语法

语法:数据类型 &别名 = 原名

#include
using namespace std;

int main()
{
//    基本语法
//数据类型 &别名 = 原名
    int a = 10;
    int &b = a;
    cout<<"a="< 
2.6 const 修饰引用形参 

作用:常量引用用来修饰形参,防止误操作

#include
using namespace std;
//打印数据
//用const修饰形参
void func(const int &a)
{
//    a = 1000;//报错,就是为了防止误操作
    cout<<"01a="< 
3.3 函数重载 

作用:函数名相同,提高复用性
条件:
(1)同一作用域下;
(2)函数名称相同;
(3)函数参数类型不同 或者 个数不同 或者顺序不同。

#include
using namespace std;

void func()
{
    cout<<"func()!"< 

函数重载的注意事项:
(1)引用作为重载条件
(2)函数重载碰到函数默认参数

#include
using namespace std;

//1 引用作为重载条件
void func(int &a)//int &a = 10;不合法
{
    cout<<"func(int &a)!"<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529155.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号