gpt4 book ai didi

c++-cli - CLI 中的复制构造函数和赋值运算符

转载 作者:行者123 更新时间:2023-12-02 11:53:27 28 4
gpt4 key购买 nike

我正在尝试在 C++/CLI 中查找赋值运算符和复制构造函数的示例。我在 Google 上花了很多时间,但令人惊讶的是我找不到一个看起来很常见的例子。

最佳答案

.NET 语义没有复制构造函数或赋值运算符之类的东西。您可以在ref class中定义一个,但它只会在C++端使用如果您显式请求副本`对于值类,一切都是内置的,您无法覆盖复制语义。

示例:

public ref class Foo
{
Foo(const Foo% f);
};

Foo^ f = gcnew Foo;
Foo^ g = gcnew Foo(*f); // This will call C++ copy constructor. No .NET equivalent.

如果您想以 .NET 风格实现深度复制语义,请查看 ICloneable

另请参阅there以获得您可以拥有的不同复制行为。不过,我强烈建议不要将ref class存储在堆栈上。

关于c++-cli - CLI 中的复制构造函数和赋值运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6100374/

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