1
在下面的代碼中,臨時字符串對象在返回其內部緩衝區後被創建並銷燬。因此p
指向無效的內存位置。函數調用中臨時對象的範圍
int main()
{
const char* p = std::string("testing").c_str();
//p points to an invalid memory location
}
在下面的代碼中,創建了臨時字符串對象。臨時字符串對象何時被刪除?執行後func()
?我可以安全地使用func()
方法中的p指針嗎?
void func(const char* p)
{
//p is valid or invalid ????
}
int main()
{
func(std::string("testing").c_str());
}