sarnaga 发表于 2016-2-3 08:07:15

请问c++中while(cin)为什么会多执行了一次?

#include <iostream>
#include <vector>

int main()
{
        using namespace std;
        vector <int> coll;         

        if (coll.empty())
        {
                cout<<"暂时没有储存数据"<<endl;
        }

        int i=0;
        int temp;
        while (cin)
        {
               
                cin>>temp;
                coll.push_back(temp);         
       

        }

        for (int i=0;i<coll.size();i++)
        {
                cout<<coll<<", ";
        }

        cout<<endl;
        return 0;

}

如果输入 5 6 7a 这几个字符, 按下回车后,vector中的数据是: 5 6 7 7
最后一个7被插入了两次。为什么?

DAY 发表于 2016-2-3 17:03:51

不定长度数组吗?没学过。可以教教我吗?

人造人 发表于 2016-2-4 01:34:30

DAY 发表于 2016-2-3 17:03
不定长度数组吗?没学过。可以教教我吗?

不定长度数组

sarnaga 发表于 2016-2-4 21:12:37

继续等回答{:10_269:}

DAY 发表于 2016-2-5 21:23:19

人造人 发表于 2016-2-4 01:34
不定长度数组

#include<vector>
vector <int>v;//这种不定数组会吗?

人造人 发表于 2016-2-6 16:45:03

DAY 发表于 2016-2-5 21:23
#include
vector v;//这种不定数组会吗?


编译不过

DAY 发表于 2016-2-9 11:41:23

人造人 发表于 2016-2-6 16:45
编译不过

vector是C++语言中的数组形式。
在《算法竞赛入门第二版》中有详细的介绍。
对解决实际竞赛问题有帮助。
vector此类型的数组是可以编译通过的。
可能你对此的用法没有掌握。

人造人 发表于 2016-2-9 13:02:05

DAY 发表于 2016-2-9 11:41
vector是C++语言中的数组形式。
在《算法竞赛入门第二版》中有详细的介绍。
对解决实际竞赛问题有帮助 ...

页: [1]
查看完整版本: 请问c++中while(cin)为什么会多执行了一次?