我有一个 const char* str 并且我想将它转换为一个简单的字符串,所以我使用了 std::string() 构造函数并将 str 的值复制到我的变量中。
const char* str;
std::string newStr = std::string(str);
<some processing>...
<end>
所以在函数结束之前我必须删除字符串 newStr 还是自动调用 std::string 类的析构函数并且这个 newStr 将被删除。当我在这里读到std::string 类的析构函数不是虚拟的时,我感到很困惑。但是这里它说该字符串将在超出范围时被删除。任何人都可以对此有所了解,因为如果析构函数不是虚拟的,这似乎令人困惑,字符串变量在超出范围后如何被删除。