본문 바로가기

728x90

Lang/C++

(4)
[C++] 컨테이너 어댑터 Stack 컨테이너 어댑터란? 기존 컨테이너의 기능을 제한하거나 변형한 컨테이너를 만들어줍니다. STL의 컨테이너 어댑터 종류. 컨테이너 어댑터 설명 스택 ( stack) LIFO ( Last In First Out ) 나중에 삽입된 요소가 먼저 반환됩니다. 큐 (queue) FIFO ( First In First Out ) 먼저 삽입된 요소가 먼저 반환됩니다. 우선순위 큐 (Priority queue) 우선 순위가 높은 요소를 먼저 반환합니다. # stack의 멤버 함수 멤버 함수 설명 push(x) stack의 상단에 값 x를가진 요소를 추가한다. pop() stack 상단의 요소를 제거한다. top() stack 상단 요소의 값을 읽어 레퍼런스로 리턴한다. size() stack의 사이즈를 리턴합니다. emp..
[C++] STL 연관 컨테이너 Map # 맵 Map map을 사용하기 위해서는 헤더파일을 추가해야합니다. #include 맵은 특정 순서에 따라 키 값과 매핑된 값의 조합으로 형성된 요소를 저장하는 연관 컨테이너입니다. 키 값, 매핑된 값 모두 다양한 데이터 타입을 가질 수 있습니다. 예를 들어, 주민등록번호를 키 값으로 이름을 매핑된 값으로 할 수도 있고, 이름을 키 값으로 주민등록번호를 매핑된 값으로 할 수도 있습니다. 하지만 주민등록번호를 키 값으로 할 경우 키 값이 고유한 값을 가지지만, 이름을 키 값으로 할 경우 동명이인이 있을 수 있어 고유한 값을 가지지 못하므로 이런 경우에는 map보다는 multimap을 사용하는 것이 좋겠습니다. # map 클래스 템플릿의 정의 template < class Key,// map::key_typ..
[C++] 구조체를 확장하면? 클래스! # C의 구조체는 서로 다른 타입의 집합입니다. #include #include struct Student{// 구조체 int age; char name[25]; }; void printStudent(Student s){ printf("나는 %d살, %s입니다.\n", s.age, s.name); } int main() { Student s; s.age = 20; strcpy(s.name, "홍길동"); printStudent(s); return 0; } 출력 결과: 나는 20살, 홍길동입니다. # 여기에서 구조체 Student와 함수 printStudent 는 서로 상호의존적입니다. Student는 printStudent가 없으면 화면에 출력할 수가 없고, printStudent도 Student가 없으..
[C++] STL Vector # 헤더 #include # 생성자 #include #include #include using namespace std; void main() { vector v1;// 디폴트 생성자. 비어있음. vector v2(10);// 10칸짜리 double형 배열. vector v3(10, 7);// 10칸 7로 채워진 int형 배열. vector v4(v3);// v3를 복사하여 생성된 배열. int arr[] = {1,2,3,4,5,6,7,8,9}; vector v5(&arr[2], &arr[5]);// arr[2] ~ arr[4] 를 복사하여 생성된 배열. vector vArr[3];// ()가 아닌 []로 생성하면 vector배열이 3개가 생성된다. vArr[0].push_back(1); vArr[0]...

728x90