모피어스 :
나는이 std::vector
같은를
std::vector<std::pair<T,T>> xyz
. xyz
(10)의 길이를 가지며, 다른 기능은 정확히 3 점, 4, 6, 8과 말을 채운다 std::pair<T,T>
. 반복하는 동안 벡터를 통해, 나는 비어 있지 않은 점은 그래서이와 더 작업 할 수 있습니다 어디 있는지 알고 싶어 std::pair<T,T>
들.
내가 사용할 수있는 생각 c++17
의를 std::optional<>
하지만 난 사용하고 있습니다 c++14
. 의 명소 찾을 수있는 방법이 있나요 std::vector
(14) C ++에서 빈되지 않습니다.
벡터 함수에서 할당 한 후 다음과 같이 보일 것입니다
index value
0:
1:
2:
3:
4: <7,8>
5:
6: <9,2>
7:
8: <8,6>
9:
나는 위의 벡터를 반복 만 인쇄하고 싶은 말 std::pairs
존 딩 :
벡터의 모든 요소가 초기화를 위해 당신이 당신의 데이터 구조에 몇 가지 작업을하지 않으면 당신은 그것을 할 수 없습니다.
simplist 내가 생각하는 가장 빠른 방법은 저장하는 것입니다 std::vector<bool>
나중에뿐만 아니라 "수정"a 요소 만 초기화 여부를 저장하기 위해 같은 크기의,하지만.
당신이 다른 벡터를 설정하는 것을 잊지 수 있음을 걱정하는 경우, 그들을 함께 결합 :
std::vector<std::pair<std::pair<int, int>, bool>> a;
당신은 여전히이 너무 추한 생각한다면, 당신은 당신의 자신의 간단한을 구현 할 수 있습니다 optional