1. 정수부와 소수부를 각각 bit화 2. Numerical form 으로 변환 3. s, e와 f를 구해 bit 저장
오픈소스 프로젝트의 Git History에서 체크 포인트를 만들어 과거의 commit으로 되돌아 갔다가 돌아오는 작업이 필요한 이유
내 PR이 Merge되기 전, 다른 사람의 PR이 먼저 프로젝트에 반영될 수 있다. 그러면 내 PR base에 팀프로젝트의 최신 히스토리를 업데이트 하는 작업이 필요하다.
과제의 핵심은 stack이 CPP에서 <컨테이너 어댑터>라는 점을 인식하는 것이다.
ex00과제에서 static_cast 를, ex01과제에서 reinterpret_cast 를, ex02과제에서 dynamic_cast 에 대해 학습한다.
C에서는 조건문(if)를 통해서 예외를 처리했었지만, CPP에서는 보다 더 직관적인 문법을 제공한다.
추상 클래스의 특징은 오버라이드, 즉 '함수를 반드시 재정의해야하는 것'이라고 정리할 수 있을 것 같다. 순수 가상함수를 재정의하지 않으면 코드 상에서 에러로 판단하기 때문에 실수들을 방지할 수 있다.
과제를 요약하자면, 마법사 Sorcerer가 불쌍한 Victim 과 Peon을 동물로 변신시켜버리는 내용이다. 이 때 마법에 당한(?) Victim과 Peon은 같은 getPolymorphed() 메서드를 호출하지만, 그 실행 결과는 다르다.
다중 상속 클래스 객체 생성시의 문제점은, 기초 클래스 ClapTrap이 불필요하게 두 번 생성된다는 점이다.
canonical이란, "규정대로"하는 프로그래밍을 의미한다. 앞으로의 CPP 과제는 Coplien form 규정대로 클래스를 작성해야한다.
this와 stringstream 을 활용해 인스턴스의 주소값을 문자열로 얻을 수 있다.
참조자와 포인터의 차이점, 그리고 댕글링 레퍼런스의 위험성과 그것을 해결하는 방법 중 하나인 Const 참조자에 대한 정리.