您的位置:首页 > 编程语言 > C语言/C++

C++,为什么str=new char[strlen(s)+1];中要加一

2016-01-05 15:29 288 查看
因为strlen是计算字符串有多少字符的,不包括结束符,所以加一。如"abc",占四个字节,strlen的值是3

//释放实例自身已有内存
delete[] m_pData;
m_pData=NULL;


//在删除自身内存以后在重新new一个长度为len+1的字符数组,类似拷贝构造函数
int len=strlen(str.m_pData);
m_pData=new char[len+1];
strcpy(m_pData,str.m_pData);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: