![]() |
1
8
怎么样:
|
![]() |
2
9
|
![]() |
3
4
回到游戏中! 实际上,这是数字算法中一个很常见的习语,所以我不认为它是丑陋的。 |
![]() |
4
2
我只是放弃了我在德克格尼蒂的回答中的想法:
您也可以制作另一类实用程序函数,以使其简洁:
|
![]() |
5
2
简单的“整洁”选项可以基于这样一个事实:列表迭代器是一个用户定义类型的对象,带有重载的运算符(而不是内置类型)。(当然,这并没有得到正式的保证,但是可以根据列表容器的性质来期望。)因此,可以应用重载的前缀。
为了实现你想要的,你只需要创建一个
就是这样。注意,这个技巧相当流行,可以在实时代码中不时遇到。还要注意的是,它通常不适用于
但是,就个人而言,我不会在代码中真正使用它。您已经收到了几个很好的答案,可以通过添加一行代码来实现这一点。 |
![]() |
6
1
我赞成肖恩的建议,只是先做个循环:
|
![]() |
7
0
如果你已经在使用Boost,那么最简单的方法就是使用
|
|
Julia · 矢量中相加为总和S的值的数量 2 年前 |
![]() |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 2 年前 |
![]() |
quantumwell · 将空向量放入std::map() 6 年前 |
![]() |
OutOfBound · 对未初始化内存使用算法的优点 7 年前 |
![]() |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 7 年前 |