Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 벡터에 데이터 트리플렛(세 개의 값)을 저장하는 방법

이 튜토리얼에서는 C++에서 벡터(vector)의 한 칸에 데이터 세 개를 묶어 저장하는 방법, 즉 데이터 트리플렛(triplet)을 저장하는 프로그램을 살펴보겠습니다.

벡터의 한 요소에 세 개의 값을 함께 저장하려면 먼저 사용자 정의 구조체(struct)를 선언한 뒤, 해당 구조체 타입으로 벡터를 생성하면 됩니다. 이렇게 하면 서로 연관된 여러 데이터를 하나의 단위로 깔끔하게 관리할 수 있습니다.

예제 코드

#include<bits/stdc++.h>
using namespace std;
struct Test{
    int x, y, z;
};
int main(){
    //사용자 정의 구조체 타입의 벡터 생성
    vector<Test> myvec;
    //값 삽입
    myvec.push_back({2, 31, 102});
    myvec.push_back({5, 23, 114});
    myvec.push_back({9, 10, 158});
    int s = myvec.size();
    for (int i=0;i<s;i++){
        cout << myvec[i].x << ", " << myvec[i].y << ", " << myvec[i].z << endl;
    }
    return 0;
}

실행 결과

2, 31, 102
5, 23, 114
9, 10, 158

코드 설명

struct Test는 정수형 멤버 변수 x, y, z를 가지는 구조체입니다. 이 구조체를 요소 타입으로 하는 vector<Test>를 선언하면 벡터의 각 칸이 세 개의 정수를 담을 수 있게 됩니다. push_back() 호출 시 중괄호 초기화 문법인 {2, 31, 102}를 사용하면 세 값이 모두 포함된 구조체를 한 번에 벡터에 추가할 수 있습니다.

마지막으로 반복문을 통해 벡터의 크기(size())만큼 순회하면서 각 요소의 x, y, z 멤버에 점(.) 연산자로 접근하여 값을 출력합니다. 이 패턴은 좌표, RGB 색상 값처럼 세 개의 값이 항상 함께 다니는 데이터를 다룰 때 특히 유용합니다.