假设我有一个函数foo,它以向量类作为输入:
为什么在C#中需要使用new关键字?在其他语言,比如C++中,在这种情况下不需要使用new关键字,似乎这是多余的。编辑1:@spender以下代码是完全有效的C++代码。
void Foo( Vector3 vector );
如果我想调用这个函数:
Foo( new Vector3(1, 2, 3) );
为什么在C#中需要使用new关键字?在其他语言,比如C++中,在这种情况下不需要使用new关键字,似乎这是多余的。编辑1:@spender以下代码是完全有效的C++代码。
Foo ( Vector3(1, 2, 3) );
将创建一个Vector3对象在堆栈上,不需要使用new/calloc/malloc。
T(args)
的语法构建一个临时对象。new
通常用于堆构造,并且你几乎不会直接使用它。 - user142019