728x90

Vector 8

STL 컨테이너

C++STL 컨테이너벡터(Vector)동적 배열(크기 조절 가능), 배열과 같이 연속된 자료구조이므로 캐시 친화적이다. 임의 접근 반복자(random access iterator)를 사용하므로 배열의 원소에 즉시 접근 가능하다.emplace를 하면 복제 과정 없이 바로 원소를 삽입할 수 있어서 push_back보다 비용이 절감된다. 반복자 무효화가 발생할 수 있다.반복자 무효화컨테이너의 메모리가 재할당 될 때(vector resize, push_back)나 요소 삭제를 하는 등의 동작에서 발생할 수 있다.만약 STL의 erase를 사용한다면 erase한 원소 포함해서 뒤의 원소를 가리키는 모든 반복자가 무효화된다. 이는 삭제 후 뒤에 있는 요소를 모두 땡겨줘야 하기 때문이다.단, erase 함수는 다음 ..

언어/C++ 2024.06.16

Vector Container

Vector Container 자동으로 메모리가 할당되는 배열 Vector의 초기화 vector 변수명 벡터 생성 vector 변수명(숫자) 숫자만큼 벡터 생성 후 0으로 초기화 vector 변수명 = { 변수1, 변수2, ..} 벡터 생성 후 오른쪽 변수 값으로 초기화 vector 변수명[] = {,} 벡터 배열(2차원 벡터) 선언 및 초기화(열 고정, 행가변 vector 변수명 2차원 벡터 생성(열과 행 모두 가변) vector변수명.assign(범위, 초기화할 값) 벡터의 범위 내에서 해당 값으로 초기화 Vector의 Iterators v.begin() 벡터 시작점의 주소 값 반환 v.end() 벡터 (끝부분 + 1) 주소값 반환 Vector Element Access(벡터의 요소 접근) v.at(..

언어/C++ 2024.02.14
728x90