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);
相关文章推荐
- C++11多线程(七):《<future> 详解三:std::future & std::shared_future》
- C++中复制构造函数与重载赋值操作符总结
- C++11多线程(六):《<future> 详解二:std::packaged_task 介绍》
- C语言记忆强化1
- C++补全计划1
- c++ exports def文件
- 浅谈C语言的数据存储(二)
- 浅谈C语言的数据存储(二)
- 浅谈C语言的数据存储(一)
- 浅谈C语言的数据存储(一)
- C++11多线程(五):《<future> 详解一:std::promise 介绍》
- 如何成为一个优秀的高级C++程序员
- C++小题(十)
- C语言结构体(struct)常见使用方法
- C语言学习之关键字第一讲
- [链接]如何编写异常安全的C++代码
- C++模板类继承的一个小技巧
- C语言(int&)
- 字符串排序... toBubbleSort...strcmp(arr[j], arr[j + 1]) > 0...c语言 条件 -1 也能打印 囧
- 2016年想读的几本书