Server/C++

STL) Vector와 List

Juzdalua 2024. 7. 27. 22:40

Standard Template Library

C++에서 클래스 템플릿을 제공하는 라이브러리

https://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%ED%85%9C%ED%94%8C%EB%A6%BF_%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC

 

표준 템플릿 라이브러리 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 표준 템플릿 라이브러리(STL: Standard Template Library)는 C++을 위한 라이브러리로서 C++ 표준 라이브러리의 많은 부분에 영향을 끼쳤다. 이것은 알고리즘, 컨테이너,

ko.wikipedia.org


Vector

가변배열과 비슷하게 연속적인 데이터.

시퀀스 끝의 데이터 삽입, 삭제에 용이한 클래스.

인덱스로 접근 가능.

#include <stdio.h>
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> v;

    v.push_back(1); // 데이터 삽입
    v[0] = 2;       // 인덱스에 바로 접근
    v.at(0) = 22;   // 인덱스에 접근하는 함수
    v.data();       // 데이터의 시작 주소
    v.size();       // 현재 데이터가 할당된 size
    v.capacity();   // 현재 할당된 max size
    v.pop_back();   // 마지막 데이터 꺼내기

    for(long long i=0; i<v.size(); i++){
        cout << v[i] << endl;
    }

    return 0;
}

https://learn.microsoft.com/ko-kr/cpp/standard-library/vector-class?view=msvc-170

 

vector 클래스

클래스 벡터의 Microsoft C++ 표준 라이브러리 구현에 대한 참조입니다.

learn.microsoft.com

 


List

시퀀스의 모든 위치에 접근 할 때 용이한 클래스.

인덱스로 접근이 불가능.

#include <stdio.h>
#include <iostream>
#include <list>

using namespace std;

int main()
{
    list<int> l;
    l.push_back(1);
    l.push_front(2);
    l.size();

    list<int>::iterator iter = l.begin();
    int data = *iter; // 1

    return 0;
}

https://learn.microsoft.com/ko-kr/cpp/standard-library/list-class?view=msvc-170

 

list 클래스

자세한 정보: list 클래스

learn.microsoft.com

 

'Server > C++' 카테고리의 다른 글

STL) Map과 Set  (0) 2024.07.28
STL) Vector와 List - iterator  (0) 2024.07.27
템플릿 (template)  (0) 2024.07.26
클래스 (Class)  (0) 2024.07.25
Linked List  (0) 2024.07.23