4일차 C++ 이론 : 템플릿
4일차 STL : 알고리즘 part 2 / 연관 컨테이너와 비순차 연관 컨테이너
리눅스 기초(3) : vim editor
템플릿 : 대상 타입만 다르고 로직이 같은 경우에 컴파일러가 대신 복붙
템플릿 파라미터 팩 : Params&&... params >> 무한 개의 params 정의 가능
논타입 파라미터 : 정수 타입 값, array, 포인터, 참조형 변수 등이 템플릿 파라미터에 올 때
템플릿 템플릿 파라미터 : 다른 템플릿이 템플릿 파라미터로 올 때
using을 사용하면 템플릿 별명 생성 가능
mismatch() : 항목열을 비교하다가 불일치가 처음 발생하는 위치의 반복자를 pair(첫 번째 열 반복자, 두 번째 열 반복자)리턴
lexicographical_compare() : 두 항목열을 사전순으로 비교
next_permutaion, prev_permutaion() : 모든 순열을 순회하고 싶다면 우선적으로 정렬 필요!
집합 알고리즘 : set_union, set_difference, set_intersection, set_symmetric_difference()
set : key == value, map : (key, value)
lower_bound : 찾는 key의 반복자 반환, 존재하지 않으면 key보다 크거나 같은 첫 항목 반환
upper_bound : key보다 큰 첫 항목 반환, 존재하지 않으면 end 반복자 반환
equal_range = pair(lower_bound, upper_bound)
템플릿은 눈에 익숙하긴 한데 템플릿에 대한 이해도나 활용도를 생각해보면 그렇게 잘 이용하고 있는 이론은 아닌 것 같다.
템플릿에 대한 추가적인 공부나 문제 풀이가 필요할 것 같다.
오늘 STL에서 알려주신 알고리즘들은 알고리즘 문제 해결에 있어서 사용할 수 있는 기술 폭을 늘릴 수 있는 기회였다👍