在 D 语言中,重载赋值运算符的语法如下:

struct MyStruct {
    int x;
    int y;

    // 重载赋值运算符
    MyStruct opAssign(MyStruct other) {
        x = other.x;
        y = other.y;
        return this;
    }
}

在这个例子中,我们定义了一个名为'MyStruct'的结构体,并重载了赋值运算符。在'opAssign'函数中,我们将'other'结构体的成员变量值赋给当前结构体的成员变量,并返回当前结构体的引用。

在使用重载赋值运算符时,可以直接使用'='符号进行赋值操作,例如:

MyStruct s1 = {1, 2};
MyStruct s2 = {3, 4};

s1 = s2; // 使用重载的赋值运算符
assert(s1.x == 3 && s1.y == 4);

在上面的代码中,我们先定义了两个'MyStruct'实例's1'和's2',然后通过重载的赋值运算符将's2'的值赋给's1',最后通过'assert'断言's1'的成员变量值是否正确。

D语言 struct 重载赋值运算符详解

原文地址: https://www.cveoy.top/t/topic/n0Zp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录