![]() |
1
8
string.c_str()返回的char数组以nul结尾。
不,不需要释放。字符串的析构函数为您做这个。
|
![]() |
2
10
不要删除std::string::c_str中获得的内存。该字符串对此负责(它完全有可能给您一个指向其内部缓冲区的指针,因此如果删除了它,这将是一件坏事(tm))。 |
![]() |
3
4
另一方面,
无论如何,您当然不应该删除返回的指针。
|
![]() |
4
1
std::string.c_str()返回指向以nul结尾的字符串的指针。实际的字符数组仍归std::string对象所有,只要满足以下条件,它就有效:
由字符串对象本身来分配和释放返回给您的以nul结尾的char数组。 可以始终将以nul结尾的字符串用作非nul结尾的字符串。毕竟,NTS只是一个非NTS,在结尾处有一个额外的零。只要字符串按照函数的预期正确终止,它就永远不会看到“多余”的nul。:) |
|
Julia · 矢量中相加为总和S的值的数量 2 年前 |
![]() |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 3 年前 |
![]() |
quantumwell · 将空向量放入std::map() 7 年前 |
![]() |
OutOfBound · 对未初始化内存使用算法的优点 7 年前 |
![]() |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 7 年前 |