2013-05-01 93 views
-2

我不知道是否有一種方法,使一噸的變量迅速用循環或迅速在C++在C++中製作大量變量?

比方說你試圖通過item100,使一噸的變量稱爲item1,使您可以編輯任何你想要的項目,如何創建所有這些變量,而不必手動輸入每一個變量?

這是可能的或其他方式來實現類似的結果?

+10

看着你的C++手冊術語「陣列」。 – 2013-05-01 03:10:58

回答

4

創建一個數組:

std::array<int, 100> items; 

int items[100]; 

現在,你可以從一個從零開始的索引來訪問每個項目:

items[0] = 0; 
items[66] = 0xffff; 
/* etc */ 

我想我更喜歡std::array如果它是可用的。迭代器和邊界檢查at函數是有用的。

+1

我不確定你爲什麼擺脫了非常好的原始數組示例... – 2013-05-01 03:12:58

+0

請記住這些數組是C++ 11。 – paxdiablo 2013-05-01 03:14:00

+0

謝謝你們,這些都是很好的答案 – 2013-05-01 03:23:21

6

定義的陣列,而不是噸不同變量:

Type array[100]; 

或者更好地利用std::vector代替:

std::vector<Type> v(100); //#include <vector> 

或者如果它是固定大小,然後std::array

std::array<Type, 100> a; //#include <array> //only C++11 

在C++中搜索數組和向量。你會在這個網站上看到很多話題。

+0

'std :: array'怎麼樣? – mfontanini 2013-05-01 03:11:45

+5

取決於「更好」而+1的含義,因爲通過你的照片,你大概有一歲,這個答案顯示了那個年齡段令人難以置信的洞察力:-) – paxdiablo 2013-05-01 03:11:52

1

爲什麼不乾脆:

int items[100]; 

這給你item0到item99這樣

item[0] = 10; 
item[99] = 6; 

等等

此代碼是C &℃之間便攜式++其他陣列不像或基於矢量的選項。

如果你想遍歷,你可以做這樣的

// e.g. set all items to zero 
for (int i = 0; i < 100; i++){ 
    items[i] = 0; 
}