我有一个带(a char * const *)的函数。我提供的数据是std :: string。所以我这样做:
delete cc;
这很有效。我的问题是我需要清理const char ala使用的内存:
call
或者cc只是指向std:string ...
中mem记忆位置的指针答案 0 :(得分:4)
它是指向std :: string中分配的内存的指针。当std :: string超出范围时,将释放内存。在那之后一定不要抓住指针!
答案 1 :(得分:2)
不,你不需要delete cc
。它确实是std::string
对象所持有的指针。
请参阅here
程序不得改变此序列中的任何字符。
返回的指针指向字符串对象当前使用的内部数组,以存储符合其值的字符。
请注意,c_str()
返回的指针可能会因调用字符串的修改方法而失效。