C++

[C++] Vector(벡터) 사용법

Let it out 2024. 1. 18. 02:06
반응형

C++은 STL(Standard Template Library)이라는 강력한 라이브러리를 제공한다.

데이터 저장, 관리 하는 컨테이너(Container) 클래스를 제공하는데 그 중 하나가 Vector다.

 

게시물의 예제는 아주 단순한 예제다.

 

1. vector include

#include<vector> 포함 시켜주자.

 

2. 기본적인 기능

vector.Pushback(); // 값을 뒤에다 추가한다.

vector.at(n); // n 번째 값을 꺼낸다.

 

3. vector 구현

#include<iostream>
#include<vector> //stl제공 라이브러리 추가
using namespace std;

struct stUserInfo
{
int nAge;
float fHeight;
float fKg;
};

void main()
{
    vector<stUserInfo> Vec; //구조체 사용 가능하다, stUserInfo 로 하는 Vecotr 선언.

    stUserInfo stUserInfo; 
    stUserInfo.nAge = 99;
    stUserInfo.fHeight = 188.8;
    stUserInfo.fKg = 102.1;
           Vec.push_back(stUserInfo);//값을 뒤에 추가

    stUserInfo.nAge = 11;
    stUserInfo.fHeight = 111.1;
    stUserInfo.fKg = 12.12;
           Vec.push_back(stUserInfo);//값을 뒤에 추가

    stUserInfo = Vec.at(0);//값 꺼내기
    cout << "First" << endl;
    cout << "나이 : " << stUserInfo.nAge << endl;
    cout << "키 : " << stUserInfo.fHeight << endl;
    cout <<  "몸무게 : " << stUserInfo.fKg << endl;

    stUserInfo = Vec.at(1);//값 꺼내기.
    cout << "Second" << endl;
    cout << "나이 : " << stUserInfo.nAge << endl;
    cout << "키 : " << stUserInfo.fHeight << endl;
    cout << "몸무게 : " << stUserInfo.fKg << endl;
    Vec.clear();//벡터 해제
}

 

 

4. 실행 결과

 

 

 

ps.  STL에는 Vector, list, deque, set, map 등 컨테이너 뿐만 아니라 다양한 알고리즘(정렬, 검색, 집계) 등을 제공한다. 따라서 많은 개발자들이 애용한다.

 C++ 개발자가 될거라면 STL에 대한 책 하나 사서 읽어보는 것을 추천한다.

 

반응형