gpt4 book ai didi

c# - C# 与 C++ 中的新运算符

转载 作者:可可西里 更新时间:2023-11-01 18:09:00 25 4
gpt4 key购买 nike

来自 C++,我对 C# 中 new 关键字的使用感到困惑。

我知道它不像 C++ 的 new 那样工作,因为您不必手动控制对象的生命周期,因为 C# 具有垃圾收集功能。

但是,在阅读其他人的 C# 代码时,我注意到代码片段 1 中的语句。像代码片段 2 中那样完全避免使用 new 不是更容易吗?

片段 1

Foo fooInstance = new Foo();

片段 2

Foo fooInstance;

我的问题是,片段 1 和片段 2 之间有什么区别,为什么我应该更喜欢其中一个?

最佳答案

假设 Foo 是像类一样的引用类型,第二个代码片段基本上只是分配一个指针。等效的 C++ 代码将是

Foo* fooInstance;

您的片段一和片段二根本不等同。

关于c# - C# 与 C++ 中的新运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23034541/

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