我目前正在使用一个大容器,我需要迭代做很多事情。以下哪项被认为是更好的风格?
a) 大循环:
for (container::iterator it = myContainer.begin(); it < myContainer.end(); ++it) {
// do thing a with *it
// do thing d with *it
// do thing c with *it
// do thing b with *it
}
b) 小循环:
for (container::iterator it = myContainer.begin(); it < myContainer.end(); ++it) {
// do thing a with *it
}
for (container::iterator it = myContainer.begin(); it < myContainer.end(); ++it) {
// do thing b with *it
}
for (container::iterator it = myContainer.begin(); it < myContainer.end(); ++it) {
// do thing c with *it
}
for (container::iterator it = myContainer.begin(); it < myContainer.end(); ++it) {
// do thing d with *it
}
我发现 b) 更好读,因为 a) 会变得笨拙,非常容易理解。但是a)我认为会跑得更快。那么哪种风格更好呢?myContainer 将包含多达 10.000 个元素,并且必须重复此过程,因此性能很重要。