C++基本语法点整理(从内存管理到模板)

C++内存管理:
内存区域的两种划分的方法:
1.栈、堆、全局区、常量区、代码区
栈:系统在用户定义的时候就会自动分配的空间,只要不特殊说明的话,函数也在栈上,栈的增长方式是向下增长
堆:动态内存分配可以申请到的空间,无名的空间也在堆上申请,数据量较大的空间也在堆上申请,堆的增长方式是向上增长
全局区:直观的看上去,全局区的位置确实在堆的下方,但是全局是可以增长的,最大可以增长到所有的内存,所以全局区也可以看做是内存的大小,全局区不仅存放的是全局变量,同时静态变量也在全局区
常量区:存放着一些常量
代码区:存放的是代码,避免每次代码的执行都从硬盘上读取,提高了效率,常量区与代码区都在只读区域
2.data区域、bss区域、text区域
data区域:包括栈、堆、初始化了的全局变量
bss:包括未初始化的全局变量
text:只读区域,包括常量区与代码区

动态内存分配在C++中的方式
我们在C语言中经常使用malloc/free等函数来完成动态内存分配,比起这两个函数C++中的new/delete两函数主要是可以调用构造与析构函数,非常适合在C++中使用。
int * pi = new int ;
delete pi;
int * pi = new int [6];
delete[] pi;

new定位表达式:
主要结合内存池使用,作用是可以在内存的某个指定位置开始开辟空间

补充:类在栈和堆上创建对象,主要使用的是静态的成员函数

模板初级

模板函数,可以传入类型的函数
template <class/typename T>
返回值 函数名(参数列表)
{}

模板函数的匹配的规则是:始终会匹配最适合当前类型的
并且模板也可以定义多个传入的类型

模板类
template <class/typename T>
class 类名
{
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值