相关疑难解决方法(0)

运算符重载的基本规则和习惯用法是什么?

注意:答案是按照特定的顺序给出的,但由于许多用户根据投票而不是给出的时间对答案进行排序,因此这里是答案索引,它们是最有意义的顺序:

(注意:这是Stack Overflow的C++常见问题解答的一个条目.如果你想批评在这种形式下提供常见问题解答的想法,那么发布所有这些的元数据的发布将是这样做的地方.这个问题在C++聊天室中受到监控,其中FAQ的想法一开始就出现了,所以你的答案很可能被那些提出想法的人阅读.)

c++ operator-overloading operators c++-faq

2074
推荐指数
8
解决办法
88万
查看次数

为什么不能使三元运算符超载?

为什么不能使三元运算符超载?:'?

我经常使用三元运算符来合并if语句,并且很好奇为什么语言设计者选择禁止此运算符过载.我找到了解释为什么在C++运算符重载但未找到描述为什么这是不可能的解释.脚注提供的唯一信息是它不能超载.

我最初的猜测是,重载运算符几乎总是违反上面链接中给出的第一或第二原则.重载的含义很少是明显的或明显的,或者它将偏离其原始的已知语义.

所以我的问题更多的是为什么这不可能而不是如何,因为我知道它无法完成.

c++ operator-overloading operators ternary-operator visual-c++

19
推荐指数
3
解决办法
8958
查看次数

我可以在C#中重载条件运算符吗?

我没有经历这个这个实际上张贴在此之前.但那些是针对C++的.同样的事情也适用于C#吗?我提供的第二个链接指出条件运算符不能重载,我没有看到原因(假设同样适用于C#).有人可以提供进一步阅读的链接,或只是澄清问题?

编辑:

我不会在任何实际情况下需要重载此运算符,但我只是好奇为什么它不能重载.是否只是因为没有任何实际可能的情况,这种重载可以提供任何重要的功能?

c# conditional-operator

3
推荐指数
1
解决办法
1912
查看次数

0
推荐指数
1
解决办法
308
查看次数