在运算符重载的上下文中,用户定义的转换和用户定义的运算符之间有什么区别?
答案 0 :(得分:4)
用户定义的转换是:
或
operator DESTTYPE()
如您所见,第二个选项使用operator
关键字,就像重载传统运算符时一样。
(注意:所有这些都在C ++标准的[class.conv]
部分中正式描述。)
答案 1 :(得分:1)
在C++
中,没有可以重载的用户定义运算符的概念。仅限现有运营商,少数除外(。,。* , :: ,?:,< strong> sizeof ),可以重载。
答案 2 :(得分:0)
“用户定义的转换允许您使用构造函数或转换函数指定对象转换。除了标准转换之外,还隐式使用用户定义的转换来转换初始值设定项,函数参数,函数返回值,表达式操作数,表达式控制迭代,选择语句和显式类型转换。“
我不确定用户定义的运算符在C ++中是否可用(技术上),但运算符可能会过载。
http://www.cs.caltech.edu/courses/cs11/material/cpp/donnie/cpp-ops.html