2016-03-16 96 views
2

我試圖做一個類來添加巨大的整數。 我有2個系列陣列的尺寸40的,我想知道是否有什麼辦法,我可以帶着出去輸入做舊學校方法:以連續輸入整數數組

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

這樣,我必須採取輸入40次。有沒有像我們在cin.getline那樣採取輸入的方法?

+0

1.您希望如何處理輸入短於40的情況? 2.你如何在內存中表示數據?整數數組?字符數組? 3.你是否爲了一個例子拿了40個,或者這是你的最大支持大小? –

回答

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; 
} 
+0

好吧,謝謝 –