堆申请(new)与堆释放(delete)
来源:互联网 发布:手机淘宝在线客服 编辑:程序博客网 时间:2024/05/17 08:50
堆申请(new)与堆释放(delete)
#include "stdafx.h"#include <iostream>using namespace std;#include <string>//malloc free #include <stdlib.h> 库函数//new delete 关键字(key work) int _tmain(int argc, _TCHAR* argv[]){#if 0----单变量空间的申请:int* p=new int(200); new的同时进行初始化//开辟大小为 sizeof(int)空间,并初始化为200cout<<*p<<endl;//int* p=(int*)malloc(sizeof(int));string *ps = new string("purple palace");//*ps="china";cout << *ps << endl;struct Stu{int age;string name;};Stu* pstu = new Stu{ 10, "bob" }; //初始化结构体用大括号{}#endif#if 0----数组申请char* p=new char[40];strcpy(p,"china"); //注意strcpy的参数为char*类型cout<<p<<endl;int* pi=new int[5]{0};memset(pi, 0, sizeof(int[5])); //数组的初始化函数char** ppc = new char*[5]{NULL}; //new一个字符指针数组ppc[0] = new char[10]; //别忘了多delete一次strcpy(ppc[0], "china");ppc[1] = "greatWall";ppc[2] = "wangmeng";while (*ppc){cout << *pcc++ << endl;}int(*pa)[4] = new int[3][4]{{0}};//初始化for(int i=0;i<sizeof(int[3][4])/sizeof(int[4]);i++){for(int j=0;j<4;j++){cout<<pa[i][j]<<" ";}cout<<endl;}//利用malloc申请二维数组//int a[2][3];//int(*p)[3] = (int(*)[3])malloc(2 * 3 * 4);#endif//int* p = new int;//delete p;//int* q = new int[100];//delete []q;int(*q)[3] = new int[2][3];delete[]q;int b[2][3][4];int(*p)[3][4] = new int[2][3][4];// 前面类型错了会有提示delete[]p; //不管几维数组 delete一个[]就可以char* x = (char*)malloc(100);if (x == NULL)//判断malloc异常return -1;char* y = new char[100]; //正常情况下不用判断new的异常//C++提供了异常的判断方法, 但工作中几乎用不到return 0;}
new delete 与构造器 析构器的联系
阅读全文
0 0
- 堆申请(new)与堆释放(delete)
- C++【堆内存的动态分配与释放(new/delete)】
- 堆对象的new与delete
- 7.关于申请与释放内存new & delete
- 申请和释放堆内存
- 堆内存申请与释放的标准流程
- 关于windows下堆内存的申请与释放
- c/c++ 堆与栈 malloc/free与new/delete
- 内存申请和释放及堆连续
- new与delete申请内存
- C++ 栈和堆 new和delete
- new后delete出现堆错误
- malloc/free、new/delete、堆/栈
- 堆内存分配与释放
- 栈内存申请与堆内存申请
- c++中什么时候用new[]申请,可以用delete释放
- 内存(堆)的动态申请和释放
- libc 内存申请和释放及堆连续检查
- Ubuntu下安装R语言和开发环境
- 命令模式(java实现)
- ListView
- IOS 截图
- Windows+VS2013+cuda7.5爆详细Caffe编译安装教程
- 堆申请(new)与堆释放(delete)
- 关于异常基础
- C#异步编程之浅谈Task
- 【Scikit-Learn 中文文档】模型评估: 量化预测的质量
- vue下拉加载插件 之vue-infinite-loading
- c++公有虚函数与非公有虚函数探究
- Linux网卡命名enp3s0说明
- 编码详解
- 自定义Activity模板