在C++,我看到人们经常++p在for循环或其他地方使用,你想要增加一个值,但不使用返回值.我听说这更有效,因为在递增之前p++返回值,因此需要一个临时空间.
但是,感觉即使是非常无知的编译器也会将返回值作为死代码拉出(只要增量代码是内联的,因此编译器可以看到返回值不是必需的).
我试图想出一个很好的例子,使用某种迭代器,iter++实际上会创建副本(即使iter++没有使用返回值).
毕竟,当我们用迭代器编写代码时,我们并不经常考虑寄存器分配.
我学会了使用,p++因为这就是我从中学到的那本书.更喜欢++p什么时候没有使用回归价值的古老做法,或者只是优雅编码的一部分?为什么语言不被称为++C呢?
p++只有在++p不执行任务时才会变慢- 即实际使用返回值时.否则,编译器会将代码优化为同一个东西.
人们更喜欢使用++i而不是i++因为它更好地描述了你想要做的事情:增量i,增量i而不是增加旧值.当然,你倾向于坚持旧习惯.如果您习惯于写作i++,那没关系,除非您使用的公司的编码标准要求您使用++i.
D&E的第3章:"我选择C++是因为它很短,有很好的解释,并且不是"形容词C"的形式.在C中,根据上下文,++可以被读作"下一个", "继承者"或"增量"虽然总是发音为"加号".C++这个名字及其亚军++ C是笑话和双关语的肥沃来源 - 在选择这个名字之前,几乎所有这些都是众所周知的.C++的名字由Rick Mascitti提出.它于1983年12月首次被用于编辑[Stroustrup,1984]和[Stroustrup,1984c]的最终版本.
TC++ PL的第1章:``C++这个名字(发音为"see plus plus")是由Rick Mascitti在1983年夏天创造的.这个名字代表了C变化的进化本质; "++"是C增量运算符.稍短的名称"C +"是语法错误; 它也被用作不相关语言的名称.C语义的鉴赏家发现C++不如++ C. 该语言不称为D,因为它是C的扩展,并且它不会尝试通过删除功能来解决问题.有关C++名称的另一种解释,请参阅[Orwell,1949]的附录.''
| 归档时间: |
|
| 查看次数: |
866 次 |
| 最近记录: |