内存区域的划分
因为我们在程序中需要存储一些数据,如:
局部数据
静态数据和全局数据
常量数据
动态申请数据
所以在C/C++中,内存区域相应的被划分成了如下5个部分:...更多详细有关C语言动态内存管理的知识可以移步:【C语言】内存的动态分配与释放
在C++中,动态内存的管理是通过一对运算符来完成的:
new,在动态内存中为对象分配空间并返回一个指向该对象的指针...,如果我们想要在动态分配时就直接将空间初始化,则需要使用传统的构造方式(使用圆括号),如:
int* p = new int(5); //p指向的对象的值为5
当我们想要一次性初始化数组的多个对象时...,我们则需要在[]后面使用{}来初始化,如:
int* ptr = new int[10]{ 1,2,3,4,5 };
注意,当我们只将整形数组中的一部分内容初始化时,整形数组剩余的内容则会被系统默认初始化为...new/delete来动态开辟/销毁类对象的数组时,new和delete会对数组中的每个类对象都进行构造/析构,如:
operator new和operator delete函数
operator