【发布时间】:2010-03-02 08:35:34
【问题描述】:
我想知道在调用之前获取对向量的引用是否有任何好处 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的实现有一篇很棒的文章:artima.com/cppsource/foreach.html
标签: c++ boost reference foreach