小编fin*_* bs的帖子

将局部变量分配给by-reference参数

来自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;
}
Run Code Online (Sandbox Code Playgroud)

因为fail返回,我知道它是一个局部变量不是问题.但为什么pass能够超出当地范围呢?

c++ scope reference

2
推荐指数
1
解决办法
207
查看次数

标签 统计

c++ ×1

reference ×1

scope ×1