【发布时间】:2012-06-04 06:30:30
【问题描述】:
这是书中的问题:
在函数中,按值传递参数和按引用传递参数有什么区别?说一下c#ha在处理引用传递的方式上与c++相比的一个优势。
我知道按值传递参数和按引用传递参数的区别,但 c# 与 c++ 相比有什么优势?
【问题讨论】:
-
如果这是家庭作业,那么您应该这样标记您的问题。无论如何,C# 在这里有任何优势的想法是完全主观的(我当然不同意),所以没有正确的答案。
-
C# 对比 C++ 就像汽车对比地毯 (c)
-
@Loclip : C# 总是对引用类型使用引用语义; C++ 允许您选择所需的语义。它们是不同的,也不是“更好”,但 C++ 方法为程序员提供了更多控制权。
-
@ildjarn 值类型与引用类型以及按值传递与按引用传递是 C# 中的正交概念。可以按值或按引用传递引用,也可以按值或按引用传递值。
-
Loclip 询问的是 按值传递 与 按引用传递,而您是在谈论值 语义 与. 参考语义。我只是指出这些在 C# 中是正交的:
void value_by_value(some_struct a)、void value_by_reference(ref some_struct b)、void reference_by_value(some_class c)、void reference_by_reference(ref some_class d)。你同意还是不同意?
标签: c# c++ comparison pass-by-reference pass-by-value