gpt4 book ai didi

c++ - 重载的 operator= 返回 void 不可能是复制赋值运算符吗?

转载 作者:行者123 更新时间:2023-11-30 02:39:33 28 4
gpt4 key购买 nike

引用页面 http://en.cppreference.com/w/cpp/language/as_operator ,复制赋值运算符,由编译器在需要和可能时自动生成,返回其自身类型的左值引用。

所以当我如下定义重载运算符时,

void operator=(T& t)

编译器是否仍有可能隐式定义默认的复制赋值运算符?

最佳答案

这是 C++11 [class.copy]/17 中语言标准指定的复制赋值运算符:

A user-declared copy assignment operator X::operator= is a non-static non-template member function of class X with exactly one parameter of type X, X&, const X&, volatile X& or const volatile X&.

返回类型不影响它是否被视为复制赋值运算符。它只会影响您可以对赋值表达式的结果执行的操作。

关于c++ - 重载的 operator= 返回 void 不可能是复制赋值运算符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29749580/

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