|
|
1
4
我不认为这是可能的手工循环,但我想这可以被视为一个额外的论点,以鼓励使用 std::for_each 和 BOOST_FOREACH 用于STL容器上的迭代。 编辑 range-based for-loop (谢谢马蒂厄。M:) |
|
|
2
2
这是一个很好的问题,让我想到了你应该怎么做,怎么解决。不用花太多时间,我唯一想到的是:
|
|
|
3
2
用于 boost::counting_iterator 以及接受常量int的函数。
|
|
|
4
2
for (int i = 0; i < 10; ++i)
{
[&, i] ()
{
if ( i == 5 )
{
++i;
}
cout << i << endl;
}();
}
错误: “i”:不能在不可变lambda中修改按值捕获 |
|
|
5
1
没有逻辑结构来强制执行此操作。如果您将const int idx=i作为循环中的第一个语句,然后只使用idx,您可能能够实现类似的强制,但会失去一些清晰性。否则,只需使用注释。 |
|
6
1
您可以使for循环的整个主体成为一个单独的函数,循环控制变量不在该函数的作用域内。
|
|
|
7
1
用宏创建一个奇怪的对象 文件 和 生产线 ,后者可能作为模板参数(它是编译时常量吗?)。当您增加它时,它必须使用相同的 文件 和 . 好吧,同一条线可能就足够了。如果不在同一行,则可能会出现编译器错误。
我还没试过呢。只是个主意。 |
|
|
8
1
如果你想访问
但我不推荐这种技术解决方案,因为它晦涩难懂,不常见,所以对读者来说并不明显。 相反,只需重构大循环。:-) |
|
|
9
0
还有一些类似于使用专用循环宏,例如
|
|
AstralHex · 矩阵乘法代码工作不正常 9 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 9 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 9 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 9 月前 |