STL里面的字符串类std::string,它有一个参数为char*的构造函数,今天写代码的时候想到一个问题:我们用一个cha*的指针初始化std::string后,这个char*指针还需要自己主动delete,释放它吗?
今天写了一个小程序试了一下,结论是:需要自己主动释放。
测试代码:
#include<iostream>
int main()
{
char *a = new char[10]{'a','b','c','d','\0'};
std::string b(a);
delete a;
std::cout << b << std::endl;
return 0;
}
~
最后输出了正确的结果,程序没有崩溃。