为什么我仍然可以访问字符串范围内的std :: string :: c_str()返回的char指针?

时间:2014-12-09 15:18:35

标签: c++ string cstring

字符串指针pp是临时的,为什么删除指针后cout c_str仍然正确?

#include <string>
#include <iostream>
using namespace std;
int main(){
    const char* tt = NULL;
    {   
    string * pp = new string("big");
    tt = pp->c_str();
    cout << "tt->pp:\t" << tt << endl;
    delete pp; 
    }   
    cout << tt << endl;
    return 0;
}

输出结果为:

tt->pp: big
big

1 个答案:

答案 0 :(得分:-1)

不正确。完全没有。