List 2

09. [C++] 벡터와 리스트에서의 erase/remove 사용법

벡터와 리스트에서의 erase 사용법에 대해 알아보기 전에 벡터와 리스트를 잠시 비교해보겠습니다.vector와 list는 모두 sequence container로, sequence container에는 forward_list, list, deque, vector, array 등이 있습니다. list의 경우에는 bidirectonal iterator를 사용하는 이중 연결리스트(앞뒤 이동만 가능)이고, vector의 경우에는 contiguous iterator를 사용하는 연속된 배열(Random access 지원)이다. vector는 인덱스 접근이 빠르고 메모리를 효율적으로 사용할 수 있다는 장점이 있지만 연속된 배열이기 때문에 앞이나 중간에 데이터를 삽입하거나 삭제하면 해당 원소의 뒤 원소들을 모두 이동..

C++ 2025.06.01

02. C++_Initializer_list

Initalizer_list는 c++11 표준 라이브러리에서 제공하는 타입으로, 배열의 초기화를 쉽게 처리하기위한 reference 객체입니다. 이 객체는 const T 타입의 요소로 이루어진 배열에 대한 접근을 제공하며, 중괄호 '{}'안에 나열된 값을 가져와 메모리를 초기화 합니다. 이때 배열이 놓인 메모리가 어느 위치인지는 정의되어있지 않고, readonly로 읽기 전용 메모리에 할당되어 s가 파괴될 때 같이 헤제됩니다.  std::initializer_list는 멤버함수로 size(), begin(), end() 등을 가지며, 포인터 2개로 구현되어 연속된 메모리의 시작위치와 끝 위치를 가리킵니다. * initializer_list의 멤버함수#include #include int main(){ ..

C++ 2024.03.18