과제에서, 범위지정자앞에, 즉 네임스페이스는 ft라고 명시함.우선적으로 왜 enable_if를 사용하는지 알아보자!이런 함수가 있다고 가정할때, 우리는 인자로서, iterator를 넣고싶기때문에, 함수 파라미터의 타입을 Iter로 정하였다.하지만, 컴퓨터는 Iter를
prototype함수 구현https://www.cplusplus.com/reference/algorithm/lexicographical_compare/예)
구현https://www.cplusplus.com/reference/iterator/iterator/?kw=iterator별로 설명할게없음.std::ptrdiff_t 도 따로했고, category도 정리해둠.어쨋든, iterator 구조체는 나중에, rever
기본적인 기능만 제공하는 반복자이다.한 위치를 가르킴반복자가 가르키는 위치의 요소를 \* 연산자로 읽을수있다.요소를 변경하는것은 불가능하다.끝낼시점을 결정하기위한 != 연산자.\*연산자를 이용하여, 요소의 내용을 변경할수있다. (출력은 입력과 달리 무조건적이다)전진할
standard template librarySTL est compose en gros par container, iterator et algo(global function).algo accede a container avec iterator.container est
ex)즉, tell_type<>()에서, ()에 값을 대입하는것이 아닌, <>에 타입을 대입하여 연산을 수행한다.또한TMP에서 "if"문은 템플릿 특수화를 통해서 구현된다.예)이 코드에서, 위에서, A를 템플릿인자로 전달하였다.그렇다면,에서 두 함수들은 각
https://www.cplusplus.com/reference/iterator/reverse_iterator/iterator_traits를 이용하여, 타입변수로받은 iterator를 통해, 멤버 타입을 설정한다.변수로 받은 iterator를 이용하여, op
Randomaccessiterator 구현은 거의 비슷하다. 1. pubilic member 2. protected member 3. canonical, constructor
begin(), end()는 iterator를 반환. front(), back()은 reference를 반환.
Modifiers assign push_back pop_back insert erase swap clear 1. assign vector의 모든요소를 삭제한 후에, 파라미터로 들어온 iterator firs
BST 여러개의 키(key)를 저장 insert, search, delete 연산을 지원하는 자료구조
각 노드는 하나의 키, 왼쪽자식, 오른쪽자식 그리고 부모노드의 주소를 저장.자식노드가 존재하지 않을 경우 NIL 노드라고 부르는 특수한 노드가 있다고가정.따라서 모든 리프노드는 NIL노드.루트의 보모도 NIL노드라고 가정.노드들은 내부노드와 NIL노드로 분류.각 노드
Bidirectional_iterator 양방향 반복자이다. 임의접근반복자는 vector와 같이, 메모리끼리 붙어있어 인덱스로 접근이 가능한 곳에 사용되는한편, 양방향 반복자는 레드블랙트리(링크드 리스트)를 기반으로 만들어진 자료구조에 사용된다.