어제 : -
오늘 : Vector 구현하기
이슈 : 메모리 관리 어떻게 하는지 공부하기
사이즈 부족하면 2배해서 다 옮기고 원래 arr 지우고 포인터 이동하기
전위 : & 이용해서 바로 값 바꾸기, .ref 타입 반환한다
후위 : 임시 객체 만들어서 값 리턴하고 원래 객체 ++하기, value를 반환한다
l : &해서 접근할 수 있는 값
r : 상수, 접근 못하는 값, 임시값, &&
const iterator operator++(int) const
앞 : 리턴하는 iterator 가 const
뒤 : iterator의 클래스 멤버 변수가 값이 const / const 함수만 호출하기
어제 : vector, iterator 구현하기
오늘 : vector, iterator 구현하면서 c++ 문법 이해하기
이슈 : const 학습하면서 chatgpt 신뢰도가 낮다고 느꼈다
getter property 수정 안한다
parameter 변경 X, 복사 X
return 하는 타입이 const이다
iter를 이용해서 이동만 하고 값 변경 안된다
어제 : win32api 프로젝트 발전과정 재생목록을 쭉 봤다.
오늘 : list / map 구현하기 / 프레임워크 프로젝트 만들고 따라 쳐보기
이슈 : svn에 프로젝트 공간 만들기 → git에 임시 공간 만들고 브랜치 나누기
클래스에서 자기 자신을 가리키는 포인터 변수이다
객체가 멤버 함수를 쓸 때 기본 인자로 자신의 주소를 넣는다
*this를 method가 return하게 해서 하나의 instance에서 method를 연속적으로 쓸 수 있게 만든다
어제 : vector 구현 → rval, lval, const, &에서 열심히 삽질했다 / TimeMgr.h
오늘 : TimeMgr.cpp 구현하기 / TimeMgr 기능 이해하기
이슈 : 벡터, 리스트, map 구현 목적이 문법 이해가 아니라 각 기능이 동작하는 최소 부분을 만들어야 겠다.
어제 : TimeMgr.cpp 구현하기 / TimeMgr 기능 이해하기
오늘 : TimeMgr 설명하기 / 프레임워크 다른 부분 이해하기
이슈 : 기존 프레임워크 + 루카스 자료 프레임워크 참고하고 있다
virtual이라는 키워드가 붙은 함수이다. derived에서 override해서 쓴다
객체의 타입에 맞게 구현된 함수를 불러서 사용할 수 있도록 한다
상위 클래스에서 정의된 함수를 하위 클래스에서 다시 정의할 수 있다
→ 객체의 실제 타입이 런타임에 결정된다
virtual function만 있는 것이다
구현이 없이 선언만 한 것이다 → instantitate 못한다
클래스를 상속하면 어떤 함수들이 꼭 들어갈지 강제한다
pure virtual function만 있어서 상속하면 구현해야 하는 것들을 강제한다
→ polymorphically 하게 만드는데 function signature를 같게 만든다
virtual function pure virtual function이 하나라도 있는 클래스이다