Search
Duplicate
💺

ft_containers

Holy Graph
5Circle
간략한 내용
vector, map, stack을 구현해 보아요
적정 기간
2weeks
제작에 참여한 사람
진행 중인 사람
최종 편집일
May 08
통과한 사람
1 more property

sehyan 정리

0. Reference

Search
vector 생성자
vector 생성자

1. subject

1) vector

2) map

3) stack

2. C++ Keyword

1) implicit conversion and explicit

암시적인 형변환을 막고 명시적인 형변환을 도와줌
생성자를 복사생성자의 형태로 호출되는 것 방지
예시)
아래처럼 코드를 작성하면 정상적으로 작동하게 된다. 컴파일러가 Test클래스의 int 인자를 받는 생성자가 있다는 것을 인지하고 암시적으로 변환 해버린다.
#include <iostream> class Test { public: Test(){}; Test(int a) : a(a) {}; ~Test() {}; int a; }; int main() { Test test = 5; // Test test = Test(5) std::cout << test.a << std::endl; return 0; }
JavaScript
복사
따라서 이러한 것을 방지하기 위해 explicit 키워드를 사용할 수 있다.
... explicit Test(int a) : a(a) {};
JavaScript
복사
그러면 아래와 같이 컴파일 에러가 발생해서 잘못 사용하는 것을 방지할 수 있다.

2)

RoadMap

{ 1phase / container 의 필수 요소 감잡기 but 이단계에선 내가 뭘 만드는지 모르는게 당연 } // 권장 학습 기간 2~3일 0. 사전 지식 공부 - SFINAE와 enable_if, allocator, is_integral, iterator traits 등 1. type traits - enable_if, is_integral 들 구현 2. iterator traits 3. algorithm - equal, lexicographical_compare 4. pair { 2phase / 위에서 만든걸 써먹으면서 이해도 높이기 } // 권장 학습 기간 2일 5. random access iterator 6. reverse iterator { 3phase / 위에서 만든걸 사용하면서 컨테이너를 직접 구현 } // 권장 학습 기간 3일 7. vector 구현 8. vector 구현 이후 adaptor container 로 stack 구현 { 4phase / map에 대해 공부하고 tree를 구현할 준비 } // 권장 학습 기간 2일 9. tree node 10. tree iterator { 5phase / map 구현 } // 권장 학습 기간 3일 11. map -> set (인터페이스만 구현) 12. red black tree 이나 avl tree 로직을 사용하여 트리 구현 (내부로직 구현) /* 참고사항 - 대부분 구현해야할 것들은 cppreference.com 이나 cplusplus.com 에서 확인 가능 */
Plain Text
복사
권장학습기간은 kilm 기준임