이이프
IeF 제멋대로 세상
이이프
전체 방문자
오늘
어제

공지사항

  • ✔ Info
  • 전체 글보기 (56)
    • 💻프로그래밍 내용 정리 (55)
      • C (0)
      • C++17 (55)
    • 💻게임메이커 (0)
    • 💻언리얼엔진 (0)
    • 💻유니티 (0)
    • 🎈[팀&자작]게임소개 (0)
    • 📃게임제작기술 (0)
    • 🎨그림놀이 (0)
    • 📒대학생활 (0)
    • 😃잡담 (1)
    • 🕹게임성과 (0)
    • 💷자격증 (0)

블로그 메뉴

  • 방명록

최근 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
이이프

IeF 제멋대로 세상

💻프로그래밍 내용 정리/C++17

[C++ 1.1.12] std::vector, push_back()

2022. 8. 15. 21:48
728x90

std::vector

C++ 표준 라이브러리에서는 저장 공간의 크기가 고정되지 않는 컨테이너를 제공한다.

대표적으로 <vector> 헤더 파일에 선언된 std::vector가 있다.

vector는 C 스타일의 배열을 대체할 수 있는 것으로 훨씬 유연하고 안전하다.

 

프로그래머가 메모리 관리를 신경 쓸 필요도 없다.

메모리를 충분히 확보하는 작업은 vector가 알아서 처리하기 때문이다.

vecgtor는 동적으로 실행 시간에 원소를 추가하거나 삭제할 수 있다.

다음 코드는 vector의 기본 기능을 보여준다.

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    // 정수 타입 벡터를 생성한다.
    vector<int> myVector = { 11, 22 };

    // push_back()을 이용하여 생성한 벡터에 정숫값을 몇 개 추가한다.
    myVector.push_back(33);
    myVector.push_back(44);

    // 원소에 접근한다.
    cout << "1st element: " << myVector[0] << endl;
    return 0;
}

myVector는 vector<int>로 선언했다.

여기서 std::array와 마찬가지로 꺾쇠괄호로 템플릿 매개변수를 지정해야 한다.

vector는 제네릭 컨테이너(범용 컨테이너)라서 모든 종류의 객체를 담을 수 있다.

그래서 vector를 사용할 때 반드시 꺾쇠괄호 안에 원하는 객체 타입을 명시해야 한다.

 

push_back()

vector에 원소를 추가하려면 push_back() 메서드를 사용한다.

벡터에 담긴 원소는 배열의 문법(예: myVector[0])으로 접근할 수 있다

 

'💻프로그래밍 내용 정리 > C++17' 카테고리의 다른 글

[C++ 1.1.14] 반복문(while 문, do/while, for, 범위 기반 for 문)  (0) 2022.08.15
[C++ 1.1.13] 구조적 바인딩(auto)  (0) 2022.08.15
[C++ 1.1.11] std::array  (0) 2022.08.15
[C++ 1.1.10] C 스타일 배열, 영 초기화, 이니셜라이저 리스트, std::size(), sizeof  (0) 2022.08.15
[C++ 1.1.9] 함수, 함수 선언, 함수 정의, 함수 리턴 타입 추론(auto), 현재 함수 이름(__func__)  (0) 2022.08.15
    '💻프로그래밍 내용 정리/C++17' 카테고리의 다른 글
    • [C++ 1.1.14] 반복문(while 문, do/while, for, 범위 기반 for 문)
    • [C++ 1.1.13] 구조적 바인딩(auto)
    • [C++ 1.1.11] std::array
    • [C++ 1.1.10] C 스타일 배열, 영 초기화, 이니셜라이저 리스트, std::size(), sizeof
    이이프
    이이프
    게임 프로그래머 지망생 / Since 2022.08.14

    티스토리툴바