为什么教科书更喜欢"++x"而不是上下文不变的"x++"?
Why do textbooks prefer "++x" to "x++" when it is context invariant?
可能重复:
循环中的i++和++i之间的区别
C++中的i++和++i之间是否存在性能差异
C++中的增量-何时使用x++或++x
如果该值未在语句中的其他位置使用,为什么要使用++i而不是i++?
为什么在C++教材中,当这种情况发生在前/后性质无关紧要的情况下时,人们更喜欢写++x
而不是x++
?
一般来说,动作似乎是按宾语、动词顺序给出的
例如:
foo.size()
是"对象"foo
,带有"动词"size
a + b
是"对象"a
,带有动词+
在EXCEL中,您总是选择对象,然后指定动作(动词)。
注意:Lotus 1-2-3按动宾顺序做事,这给那些在123到XL转换中发展出肌肉记忆的人带来了巨大的问题。。。
我更喜欢++x
而不是x++
,因为对我来说,它强调对变量名称的增量运算。这完全是一个偏好问题,但我认为这更清楚地突出了我的意图。
更重要的是,你要选择其中一个,并始终如一地使用它。当++x
和x++
的效果相同时,随意使用它们的代码只会导致无法维护。迟早,有人会"修复"它以保持一致,当他们更改一个真正重要的实例时,他们可能会引入错误。
i++将创建对象i的副本。如果i是一个复杂的迭代器,与++i相比,这可能会大大降低性能。
相关文章:
- #为""定义宏;静态";针对不同的上下文
- 与互斥锁相比,旋转锁可以保证上下文切换
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么我不能使用 EGL 创建无头 OpenGl 上下文?
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 为什么在逗号分隔符上下文中将预增量的结果强制转换为void
- 错误"Could not find Boost"(缺少:上下文标头)
- 使用 mod_gsoap 部署服务时,如何在 Gsoap 中更改 soap 上下文的模式?
- 将有状态的 lambda 传递到 C 样式函数中,而无需上下文参数
- 安排带有上下文的协同程序
- 我的文件无法正常工作,无法从C++文件中读取上下文
- DCMTK 了解"DIMSE 没有有效的演示上下文 ID"错误
- 具有std::initializer_list参数的非成员函数(/non构造函数上下文)的重载解析
- antlr 规则上下文是否可以独立于目标
- OpenGL 调试上下文警告 -"将使用视频内存作为缓冲区异议的来源
- MSVC 在不知道类型的情况下评估上下文(和错误)
- 为什么 Perf 具有如此高的上下文切换?
- 非推导上下文,如标准库中的"boost::mpl::identity:<T>:type"?
- 使用 std::size 来自非 const 上下文
- 如何使用IExecuteCommand和动词在上下文菜单外壳扩展中显示本地化文本和自定义图标?