gpt4 book ai didi

c++ - 删除对取消引用的 int 的引用

转载 作者:行者123 更新时间:2023-11-30 02:27:13 26 4
gpt4 key购买 nike

尽管下面的代码编译并运行良好,但我想知道它是否是有效的 C++ 代码?

int main()
{
int *i= new int;
cout<<*i;

int &ref=*i;
cout<<ref;

delete &ref; //Especially is this statement valid?
return 0;
}

如果它是有效的那么这也必须是有效的:

int& getInt() {
int* i = new int;
return *i; // OK?
}
int main(){
int& myInt = getInt(); // these two lines are same as shown in the example above ?
delete &myInt; //is this OK too?
}

最佳答案

这是正确的代码,适用于所有平台和编译器。

但是,这可能不是最佳实践,因为当被调用方保留对象的所有权时,通常会使用引用。

关于c++ - 删除对取消引用的 int 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41972293/

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