当前位置:  开发笔记 > 编程语言 > 正文

在C++中推荐的++或+1是什么?

如何解决《在C++中推荐的++或+1是什么?》经验,为你挑选了1个好方法。

S++或者S=S+1,可以建议将值增加1,为什么?

我认为S++应该是首选,因为它是内部的单机指令(INC).如果我错了,请让我纠正.其他方式我认为两者都是相同的,除了++是一元的,它的后增量和运算符重载都是不同的.

C#会有什么不同吗?



1> alexeykuzmin..:

你永远不应该尝试做这样微小的优化.现代编译器是足够聪明来生成所有3个选项(相同的汇编代码++i,i+=1,i=i+1),几乎所有的案件.

是的,有时你可以获得一些微小的性能提升,例如,++对于某些具有非常复杂的++运算符的类使用前缀而不是后缀,但在绝大多数情况下,花费大部分时间的程序的一部分不是增量,所以要实现一些真实的结果您应该在真实(或接近真实)测试中分析您的代码,并找到不太有效的常用代码片段.

此外,还有一个更重要的事情需要考虑 - 它的代码可读性.在绝大多数情况下,它比性能更重要,只有在时间最关键的代码片段中,我们才能牺牲性能的可读性(甚至在那里,并非总是如此!有时候最好只添加更多硬件).

因此,我的建议是使用以最清晰的方式陈述您的想法的选项.


@viveknuna:如果你是为数据类型做这个,定义它自己的增量运算符,你无法将`++ S`与`S = S + 1`对比.他们可能会做不同的事情,而后者可能甚至不合法.
推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有