2
我試圖做一個類來添加巨大的整數。 我有2個系列陣列的尺寸40的,我想知道是否有什麼辦法,我可以帶着出去輸入做舊學校方法:以連續輸入整數數組
for(int i=0;i<40;i++)
{
std::cin >> arr[i];
}
這樣,我必須採取輸入40次。有沒有像我們在cin.getline
那樣採取輸入的方法?
我試圖做一個類來添加巨大的整數。 我有2個系列陣列的尺寸40的,我想知道是否有什麼辦法,我可以帶着出去輸入做舊學校方法:以連續輸入整數數組
for(int i=0;i<40;i++)
{
std::cin >> arr[i];
}
這樣,我必須採取輸入40次。有沒有像我們在cin.getline
那樣採取輸入的方法?
不,你不能直接得到一個整數數組,因爲這種類型沒有超載。您必須使用第三方庫進行分析,或者爲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;
}
好吧,謝謝 –
1.您希望如何處理輸入短於40的情況? 2.你如何在內存中表示數據?整數數組?字符數組? 3.你是否爲了一個例子拿了40個,或者這是你的最大支持大小? –