Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

누에나방애벌레

C++ 배열과 벡터 본문

공부/c++

C++ 배열과 벡터

명석 2024. 7. 25. 14:44

C++ 배열

C++에서 배열은 다음과 같은 특징을 가집니다:

  1. 정적 크기:
    • 배열의 크기는 선언 시에 고정되며, 이후에 크기를 변경할 수 없습니다.
    • 예: int arr[5] = {1, 2, 3, 4, 5};
  2. 데이터 추가 불가:
    • 배열의 크기가 고정되어 있기 때문에, 새로운 데이터를 추가할 수 없습니다.
  3. 데이터 삭제:
    • 배열의 특정 값을 삭제하려면, 해당 값을 의미 없는 값으로 변경해야 합니다.
    • 예: arr[n-1] = 0; (0이 의미 없는 값일 때)
  4. 초기화:
    • 배열을 초기화하려면, 반복문을 사용하거나 memset 함수를 사용합니다.
    • 예: for(int i = 0; i < 5; i++) arr[i] = 0;
  5. CRUD 작업의 불편함:
    • 배열을 사용한 CRUD(Create, Read, Update, Delete) 작업은 불편합니다.
    • 배열은 크기 변경이 불가능하고, 동적 할당이 지원되지 않아 유연성이 부족합니다.

C++ 벡터(Vector)

벡터는 배열의 단점을 보완한 동적 배열로, 다음과 같은 특징을 가집니다:

  1. 동적 크기 조절:
    • 벡터는 필요에 따라 크기가 동적으로 변경됩니다.
    • 예: vector<int> v;
  2. 데이터 추가:
    • push_back 메서드를 사용하여 벡터의 끝에 데이터를 추가할 수 있습니다.
    • 예: v.push_back(1);
  3. 데이터 삭제:
    • pop_back 메서드를 사용하여 벡터의 마지막 요소를 삭제할 수 있습니다.
    • 예: v.pop_back();
  4. 초기화:
    • clear 메서드를 사용하여 벡터를 초기화할 수 있습니다.
    • 예: v.clear();
  5. 템플릿 문법:
    • 벡터는 템플릿을 사용하여 다양한 데이터 타입을 저장할 수 있습니다.
    • 예: vector<int> v;, vector<string> v2;, vector<struct Student> v3;
  6. 자주 사용되는 메서드:
    • push_back(val): 벡터 끝에 값 추가
    • pop_back(): 벡터 끝의 값 삭제
    • clear(): 벡터 초기화
    • size(): 벡터 크기 반환
    • v[idx]: 배열처럼 인덱스로 접근
#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> v = {1, 2, 3};
    v.push_back(4);
    for (int i = 0; i < v.size(); i++) {
        cout << v[i] << " ";
    }
    cout << "\n";
    v.pop_back();
    for (int i = 0; i < v.size(); i++) {
        cout << v[i] << " ";
    }
    cout << "\n";
    v.clear();
    cout << "clear 이후 사이즈: " << v.size() << "\n";
    return 0;
}

'공부 > c++' 카테고리의 다른 글

C++ 비트 연산하기  (0) 2024.08.14
C++에서 변수+1 vs 변수++  (0) 2024.07.26
C++에서 다양한 정렬 기능 활용하기  (0) 2024.07.26
C++ Iterator  (0) 2024.07.25
C 언어의 cstring과 C++의 string  (0) 2024.07.25