배열 (또는 벡터)을 갖고 싶습니다. 각 위치에 이와 같은 두 개의 정수를 저장하고 싶습니다.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에서이 작업을 수행 할 수 있습니다 : C++ 03에서
std::vector<std::pair<int, int>> pairs = {
{1, 999},
{15, 100},
{19, 187},
{29, 177},
//and so on
};
를 수동 @JaredPar가에 설명 된대로 push_back()
를 사용하여 벡터에 각 쌍을 추가했습니다 자신의 또는 벡터에 위치에 위치에 삽입하려면 insert()
을 사용할 수 있습니다. 11 C++로
다음과 같이이 작업을 수행 할 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;
}