使一元运算符为二进制运算符
Making an unary operator binary
我想重载operator~
,但不是作为一元运算符,而是作为二元运算符,这样我就可以像a~b
一样思考了。在c++中有办法做到这一点吗?
在C++中没有办法做到这一点。时期
您可以通过运算符重载来更改行为,但不能更改操作数。
无法更改运算符的优先级、分组或操作数。
相关文章:
- 正在尝试重载二进制搜索树分配运算符
- 错误 C2679:二进制"<<":未找到采用类型 'std::string_view' 的右侧操作数的运算符(或者没有可接受的转换)
- C2678 二进制 '==':未找到采用 'Card' 类型左操作数的运算符(或者没有可接受的转换)
- 消除好友和成员二进制运算符的歧义
- C2679 二进制"<<":未找到采用右操作数类型的运算符
- 如何为我的类实现/重载二进制运算符
- 枚举和二进制或运算符(MISRA C++ 2008,4-5-2)
- int* 和 int[] 类型对二进制运算符 + 的操作数无效
- 错误 C2679 二进制"<<":未找到采用类型为 'T' 的右侧操作数的运算符
- 无法使用迭代器查找类对象。(二进制 '==': 'userInfo' 不定义此运算符)
- 二进制 '==':未找到采用 'Enemy' 类型左侧操作数的运算符(或者没有可接受的转换)
- 类型"int"和"const char [15]"到二进制"运算符<<"的无效操作数^
- 你能帮我了解重载一元运算符和二进制运算符之间的区别吗?
- c++ 错误:二进制"运算符+"类型"矩阵*"和"矩阵*"的操作数无效
- 二进制">>":未找到采用类型为"std::p air<int,int>"的右操作数的运算符
- 编译器如何区分二进制运算符和模板C++令牌>>
- 错误:二进制">>":未找到采用类型为"const char [1] 的右操作数的运算符
- 为什么我不能定义一元运算符,然后在 MSVC 的模板类中声明具有相同名称的友元二进制运算符?
- 二进制 '=':未找到采用右操作数的运算符(或者没有可接受的对话)
- C++不是按位运算符二进制字符转换