注册 登录
编程论坛 C++教室

v.clear()

wenwentidere 发布于 2012-07-09 10:25, 378 次点击
istream read(istream& in,vector<double>& hw)
{
        if(in){
            hw.clear();                    //问题:clear后不是把刚刚push_back进去的也clear掉了么?
            double x;                      //这样的话,hw最终只剩一个数据了,可是运行出来所有数据都在
            while(in>>x) hw.push_back(x);  
            in.clear();
        }
        return in;
}

调用read(cin,homework);
1 回复
#2
m21wo2012-07-09 11:10
没错,函数调用的过程是先清空容器hw ,while(in>>x) hw.push_back(x); 进入循环,输入数据存放在hw中,完成数据输入,清空输入输入流,结束函数调用。所以你输入的数据都存放在容器hw中。
1