從C,這個例子在加速C++的第5章即將引起了我的注意:分配局部變量通過引用參數
vector<Student_info> extract_fails(vector<Student_info>& students) {
vector<Student_info> pass, fail;
for (vector<Student_info>::size_type i = 0; i != students.size(); ++i)
if (fgrade(students[i]))
fail.push_back(students[i]);
else
pass.push_back(students[i]);
students = pass;
return fail;
}
由於fail
返回,我知道這是不是這是一個問題局部變量。但爲什麼pass
能夠使其超出本地範圍?
現在確定它是有道理的,謝謝 – 2012-08-03 11:59:44