new和delete

内置类型产生的临时量都是常量,不可更改。在寄存器里

自定义类型产生的都是变量,可以修改,在内存上

const  &  可以引用一个不可寻址的常量,因为会产生临时量,寄存器里的值不可寻址

函数返回值:

<=4  eax

>=4   <=8  eax  edx

>8 产生临时量

产生临时量的三个时机:

1. 函数调用之前

2. 函数return语句处

3. 函数调用之后

动态内存的开辟

1. mallocfree

 Int *p=(int *)malloc(sizeof(int));

free(p);

 Int *p=(int *)malloc(sizeof(int)*100);

free(p);

2. new  malloc 和 初始化(内置类型,自定义类型调用构造函数)

delete :先析构,后free

   Int *p=new int(10);

    delete p;

    Int *p=new int [100];

    delete  []p;

如何正确申请一个三行四列的二维数组?

c++new和delete
c++new和delete
判断开辟内存是否失败:

c++new和delete

c++new和delete
在堆上开辟内存

c++new和delete
定位new :不会真的开辟内存,可实现内存池

malloc的实现调用系统API  brk(小内存)和mmap(大内存)。根据申请内存大小来决定调用这两个哪个函数。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值