Jac*_*ble 1 c++ memory-management stl
我有一个方法,需要一个const char指针作为输入(不是null终止).这是我在我的项目中使用的库(TinyXML)的要求.我从string.c_str()方法调用中获取此方法的输入.
是否需要删除此char指针?呼叫完成后,字符串立即超出范围; 所以字符串应该用析构函数调用删除它,对吗?
string.c_str()返回的char数组是nul终止的.如果tinyXML的函数需要一个非空终止的char*缓冲区,那么你可能会得到一些意想不到的行为.
const char*c_str()const;
获取C字符串等效项
生成以字符串对象为内容的以null结尾的字符序列(c-string),并将其作为指向字符数组的指针返回.
将自动附加终止空字符.
不,它不需要被释放.String的析构函数为您完成.
返回的数组指向一个内部位置,该位置具有此字符序列所需的存储空间及其终止的空字符,但此数组中的值不应在程序中修改,只有在下次调用时才会保持不变.字符串对象的非常量成员函数.
来源:http://www.cplusplus.com/reference/string/string/c_str/
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |