c# - c#有没有类似c++的复制控制概念

标签 c# c++ constructor

C++中,我们有Copy ConstructorDestructorsoverloaded =,它们统称为复制控制

我的问题是:

  1. C# 中是否使用复制构造函数 作为参数 传递给函数时初始化 对象初始化时(分配)返回一个对象时函数 C++?

  2. 当我们分配(初始化)任何对象给同类型?

最佳答案

  1. 否:引用对象通过引用传递,而值对象则逐字节复制。您可以创建自己的“复制构造函数”,但您需要负责显式调用它们。
  2. 不能重载赋值运算符

公平地说,对于 C#,由于底层垃圾收集内存模型,C++ 复制控制的任何复杂性都不是必需的。例如,在复制对象时,您不需要控制动态分配对象的所有权,因为您可以自由地拥有任意数量的动态对象引用。

关于c# - c#有没有类似c++的复制控制概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13862498/

相关文章:

c# - 从具体类生成拦截代理?

c# - 防止在 linq 查询中填充子表

java - 虽然构造函数需要参数我仍然可以在没有它们的情况下调用它

c++ - 为什么调用没有主体的纯虚方法不会导致链接器错误?

c# - 如何使 .dll 可用于 C# 和 Excel VBA

c# - 如何在 asp c# 中定义结构中的列表?

c++ - 涉及嵌套模板参数和默认值的模板类型推导

c++ - 通用迭代器在不使用 C++ 模板的情况下访问 vector 的元素

c++ - 生成范围内的随机数,不重复

java - 防止从Java类中调用私有(private)构造函数