1 CPP11基础篇(快速学习)

本文深入探讨C++中的内存管理模型,包括堆和栈的区别,并详细解析指针的操作和使用技巧,如动态内存分配、函数指针及数组与指针的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

另外还有 long double 不少于double 不低于double

注意:

在VS和Linux中 long double占用的内存空间分别是8和16个字节

 c++11原始字面量

 

 

void的关键字

在C++中,void表示为无类型 主要有3个用途

1、函数的返回值用void 表示函数没有返回值

2、函数的参数填void,表示函数不需要参数(或者大多数都是让参数列表空着)

3、函数的形参用void* 表示接受任意数据类型的指针。

C++内存模型

堆和栈的主要区别:

1 管理方式不同:栈是系统自动管理的,在出作用域时,将自动被释放;堆需要手动释放,若程序中不释放,程序结束时由操作系统回收。

2 空间大小不同:堆内存的大小受限于物理内存空间;而栈空间小的可怜,一般只有8M(可以修改系统参数)

3 分配方式不同:堆是动态分配的;栈有静态分配和动态分配(都是自动释放)。

4 分配效率不同:栈是系统提供的数据结构,计算机在底层提供了对栈的支持,进栈和出栈有专门的指令,效率比较高;堆由C++函数库提供的。

5 是否产生碎片:对于栈来说,进栈和出栈都是有着严格的顺序(先进后出),不会产生碎片;而堆频繁的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值