以整数数组中的连续输入

时间:2016-03-16 17:38:12

标签: c++ arrays

我试图创建一个用于添加大整数的类。 我有2个大小为40的数组我想知道是否有任何方法可以通过旧学校方法获取输入:

for(int i=0;i<40;i++)
{
   std::cin >> arr[i];
}

通过这种方式,我必须输入40次。有没有办法像cin.getline中那样接受输入?

1 个答案:

答案 0 :(得分:1)

不,你不能直接得到一个整数数组,因为这种类型没有重载。您必须使用第三方库进行解析或为operator>>和数组定义额外的重载。例如:

#include <iostream>
#include <array>

template <int  N>
std::istream & operator>>(std::istream & is, std::array<int, N> a)
{
  for(int i = 0; i < N; i++)
    is >> a[i];
  return is;
}

int main()
{
  std::array<int, 10> ar;
  std::cin >> ar;
  for(auto & e : ar)
    std::cout << e << ' ';
  return 0;
}