我试图创建一个用于添加大整数的类。 我有2个大小为40的数组我想知道是否有任何方法可以通过旧学校方法获取输入:
for(int i=0;i<40;i++)
{
std::cin >> arr[i];
}
通过这种方式,我必须输入40次。有没有办法像cin.getline
中那样接受输入?
答案 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;
}