我想有一個數組(或一個向量),並且在每個位置我都想存儲這樣的幾個整數。1個整數對的數組
(1, 999)
(15, 1000)
(19, 1897)
etc..
現在我知道我可以有一個地圖列表,但我覺得它是一個矯枉過正。
任何想法?
我想有一個數組(或一個向量),並且在每個位置我都想存儲這樣的幾個整數。1個整數對的數組
(1, 999)
(15, 1000)
(19, 1897)
etc..
現在我知道我可以有一個地圖列表,但我覺得它是一個矯枉過正。
任何想法?
我想你想在這裏使用pair<int, int>
作爲vector<T>
元素。這允許你
std::vector<std::pair<int, int>> vector;
這對於typedef更有用。
typedef std::pair<int, int> intPair;
...
std::vector<std::pair<int, int>> vector;
vector.push_back(intPair(1, 999));
vector.push_back(intPair(15, 1000));
使用std :: pair < int,int>作爲數組中的元素。
在C++ 11,你可以這樣做:
std::vector<std::pair<int, int>> pairs = {
{1, 999},
{15, 100},
{19, 187},
{29, 177},
//and so on
};
在C++ 03,你每對手動添加使用push_back()
作爲@JaredPar中解釋了他的載體答案,或者如果要將其插入到特定的位置中,則可以使用insert()
。
在C++ 11可以使用std::tuple
要做到這一點,如下所示:
#include <vector>
#include <tuple>
#include <iostream>
int main()
{
std::vector<std::tuple<int, int> > intPairs;
intPairs.emplace_back(1, 999);
intPairs.emplace_back(15, 1000);
intPairs.emplace_back(19, 1897);
std::cout << std::get <0> (intPairs[0]) << std::endl;
}