gpt4 book ai didi

c++ - 为什么我不必在 C++ 中重载赋值运算符?

转载 作者:太空狗 更新时间:2023-10-29 23:41:41 25 4
gpt4 key购买 nike

这是我的代码:

class Example {
...declarations/definitions...
};

Example operator + (Example e)
{
Example temp;
...do addition...
return temp;
}

//main
void main()
{
Example a(1,2);
Example b(3,4);
Example c;
c = a+b;
}

现在让我感到困惑的是,我必须重载 + 运算符才能使其与 vector 一起工作,但是等号“=”呢?我正在将一个 vector 分配给另一个 vector ,我不应该也重载它吗?还是已经提供给我们了?谢谢。

最佳答案

如果您的类是默认可分配的(例如,如果它有任何引用成员,则如果您没有特殊工作,它就不会被分配),该语言会自动为您提供默认的 operator=。它所做的只是分别分配基数和每个成员。

关于c++ - 为什么我不必在 C++ 中重载赋值运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855654/

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