C++重载vector按行输入输出

重载vector的输入/输出符,使得:

输入:读取一行输入,以空格分开各元素。

输出:输出vector中的各元素,以空格分开,结尾不输出空格。

#include<iostream>
#include<vector>
#include<string>
#include<sstream>

using namespace std;

istream& operator >> (istream &input, vector<int> &v) {
	string s;
	getline(input, s);
	stringstream ss(s);
	int x;
	while (ss >> x)
		v.push_back(x);
	return input;
}

ostream& operator << (ostream &output, vector<int> &v) {
	for (auto i = v.begin(); i < v.end(); i++) {
		output << *i;
		if (i < v.end() - 1)
			output << " ";
	}
	return output;
}

猜你喜欢

转载自blog.csdn.net/zh_94/article/details/81427735