是否有差异++i,并i++在一个for循环?它只是一个语法的东西吗?
为什么不能使三元运算符超载?:'?
我经常使用三元运算符来合并if语句,并且很好奇为什么语言设计者选择禁止此运算符过载.我找到了解释为什么在C++运算符重载但未找到描述为什么这是不可能的解释.脚注提供的唯一信息是它不能超载.
我最初的猜测是,重载运算符几乎总是违反上面链接中给出的第一或第二原则.重载的含义很少是明显的或明显的,或者它将偏离其原始的已知语义.
所以我的问题更多的是为什么这不可能而不是如何,因为我知道它无法完成.
c++ operator-overloading operators ternary-operator visual-c++
我在某些语言中知道以下内容:
a += b
Run Code Online (Sandbox Code Playgroud)
比以下更有效:
a = a + b
Run Code Online (Sandbox Code Playgroud)
因为它不需要创建临时变量.这是C的情况吗?使用+ =更高效(因此也是-= *=等)