int main ()
{
cout << "Please input some numbers:" << endl;
//定义输入流迭代器和尾后迭代器
istream_iterator input_number_it (cin), eof;
//用迭代器与尾后迭代器初始化vector
vectornumbers(input_number_it, eof);
sort (numbers.begin (), numbers.end ());
//定义输出流迭代器, 其输出的每个值后面都输出一个" "
ostream_iterator output_numbers (cout, " ");
/*
输出方式也可以使用以下两种:
for(auto e : numbers)
*output_numbers++ = e;
和
for(auto e : numbers)
output_number = e;
以上两者均可, 推荐前一种,
想修改为其他迭代器时更为方便
*/
//使用copy更为简单
copy (numbers.begin (), numbers.end (), output_numbers);
cout << endl;
return 0;
}
开始我输入类似123124234234234内容后, 输入中断, 输出为空, 输出numbers.size()之后发现为0, 后来发现是因为超出了int的范围 = =! 将int改为long
long可以解决,
或者输入的内容在int范围之内也可以,
我希望可以在输入时检查输入的合法性,
但目前不知从何入手,
希望在接下来的学习中可以找到办法.
{
}
开始我输入类似123124234234234内容后, 输入中断, 输出为空,