gpt4 book ai didi

c++:何时销毁临时对象

转载 作者:行者123 更新时间:2023-11-27 22:56:28 25 4
gpt4 key购买 nike

<分区>

有一些情况:
案例一:

string("test");
int i = 1;

这是一个临时对象。它会在我们到达 int i = 1; 时立即销毁。我说得对吗?

案例二:

const char * p = string("test").c_str();
int i = 1;
cout<< p;

我认为当我们到达 int i = 1; 时 p 会指向一个非法内存。但我总能cout 正确的字符串。是我运气好还是 p 不违法?

案例三:

void fun()
{
throw Exception("error");
}

int main()
{
try
{
fun();
}catch(const Exception & e)
{
cout << e.description();
}
}

我们能否在一个函数中抛出一个临时对象,并在其更高级别的函数中使用 const 引用捕获它?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com