我想知道在调用BOOST_FOREACH之前,是否获取向量的引用有任何好处?还是返回一个引用的方法将自动使用?例如下面的两个循环中哪一个等同于第三个循环?
vector<float>& my_method();
void main()
{
// LOOP 1 -------------------------------
vector<float>& temp_vector = my_method();
BOOST_FOREACH(float element, temp_vector)
cout << element << endl;
// LOOP 2 -------------------------------
vector<float> temp_vector = my_method();
BOOST_FOREACH(float element, temp_vector)
cout << element << endl;
// Which loop is this one most like? ----
BOOST_FOREACH(float element, my_method())
cout << element << endl;
}
BOOST_FOREACH
实现的精彩文章:http://www.artima.com/cppsource/foreach.html - James McNellis