博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++中new与delete问题学习
阅读量:6317 次
发布时间:2019-06-22

本文共 2390 字,大约阅读时间需要 7 分钟。

一.new char与delete问题1. 问题程序[cpp] view plaincopy #include 
using namespace std; void main() { char* des = new char(); des = "testing!"; cout<
<
using namespace std; void main() { char* des = new char[10]; memset(des, 0, 10); strcpy(des, "testing!"); cout << des << endl; delete des; } V2 严格版 [cpp] view plaincopy #include
using namespace std; void main() { char* des = new char[10]; memset(des, 0, 10); strcpy(des, "testing!"); cout << des << endl; delete[] des; // new[]和delete[]对应。但由于char是基本数据类型,所以6楼那样写应该也是没有问题的 } 二.new int与delete1. 程序[cpp] view plaincopy #include
using namespace std; void main() { //一维整型指针 int *a = new int [2]; for (int i=0;i<2;i++) { a[i] = 1; } for (int i=0;i<2;i++) { printf("%d \n",a[i]); } delete[] a; //二维整型指针 int **b = new int *[2]; for (int i=0;i<2;i++) { b[i] = new int [2]; } for (int i=0;i<2;i++) { for (int j=0;j<2;j++) { b[i][j] = 2; } } for (int i=0;i<2;i++) { for (int j=0;j<2;j++) { printf("%d ",b[i][j]); } printf("\n"); } for (int i=0;i<2;i++) { delete[] b[i]; } delete[] b; system("pause"); } 2. 程序运行正常 除char以外的基本数据类型,在进行指针释放时一般不用考虑太多,主要是因为没有字符串的赋值(实质是地址的赋值)。 三.小结 在new的类型中,涉及到地址赋值,要千万小心!四、使用陷阱new和delete成对使用,避免内存泄露,申请内存数组时使用的"[]"而非“()”。如下:char * szData=new char(100); (错误)char *szData=new char[100];(正确)
int**a = new int*[2];    for(int i=0;i<2;i++){        *(a+i) = new int[3];    //a[i] = new int[3];        for(int j=0;j<3;j++){            *(*(a+i)+j) = j;    //a[i][j] = j;          }    }    for(int i=0;i<2;i++){        for(int j=0;j<3;j++){            cout<<"a["<<<"]["<
<<"]="<<*(*(a+i)+j)<

 

转载地址:http://nwcaa.baihongyu.com/

你可能感兴趣的文章
自适应网页布局经验
查看>>
Ubuntu apache 禁止目录浏览
查看>>
常用脚本--归档ERRORLOG
查看>>
js网页倒计时精确到秒级
查看>>
常用CSS缩写语法总结
查看>>
TDD:什么是桩(stub)和模拟(mock)?
查看>>
C# 模拟POST提交文件
查看>>
PAT 解题报告 1004. Counting Leaves (30)
查看>>
Android开发之蓝牙 --修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备
查看>>
[Head First设计模式]生活中学设计模式——外观模式
查看>>
Repository模式中,Update总是失败及其解析
查看>>
.Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序
查看>>
[原创]浅谈测试团队转型,思维模式的转变是关键
查看>>
Redis学习-SortedSet
查看>>
android CoordinatorLayout使用
查看>>
机器学习资料大汇总
查看>>
Python selenium 滚动条 详解
查看>>
poj1035Spell checker
查看>>
微信程序开发
查看>>
如何退出minicom【学习笔记】
查看>>