본문 바로가기

분류 전체보기70

01. 읽기 좋은 코드를 작성하는 기술 모든 내용은 [오즈 모리하루 저, "C와 C++ 게임 코드로 알아보는 코딩의 기술", 한빛미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 읽기 좋은 코드의 조건은 "의도를 명확하게 전달할 수 있는 코드" 라고도 할 수 있다. - 다른 개발자가 읽더라도 쉽게 이해할 수 있는 코드를 작성하자. - 읽기 좋은 코드는 가독성이라는 지표로 나타낼 수 있다. - "코드의 가독성"은 코드의 보수성(코드의 변경, 추가, 테스트가 얼마나 용이한지를 나타내는 지표)에 영향을 줌 - "코드의 보수성을 높이는 방법"이 이 책의 주제이다. # 복잡하게 커져 버린 코드의 문제를 단순화하고, 작게 나누는 기술이 코드의 가독성, 보수성 향상을 위한 핵심이.. 2020. 8. 22.
컴파일과 링크 1. 전처리기 - #으로 시작하는 지시자에 따라 실행파일 생성에서 가장 먼저 실행됨 - 소스코드의 주석 제거, define 치환, 매크로 치환 등... 2. 컴파일러 - 전처리기를 거친 소스코드는 컴파일러에 의해 어셈블리 코드로 변환됨 - 어셈블리 코드는 CPU 명령어 조합, 따라서 어셈블리어는 CPU에 의존적임 3. 어셈블러 - 컴파일러를 거친 어셈블리 코드는 어셈블러에 의해 오브젝트 코드로 변환됨 - 오브젝트 코드는 0과 1로 구성된 이진코드이며, 주소정보는 아직 확정되지 않은 상태임 4. 링커 - 어셈블러를 거친 오브젝트 코드는 링커에 의해 사용된 함수 라이브러리와 하나로 묶여 실행파일로 변환됨 - 운영체제의 로더가 메모리에 로딩(적재)할 수 있도록 주소정보를 적절하게 할당함, 따라서 링커는 운영체.. 2020. 8. 22.
부록 A. 모던 C++ 기초 모든 내용은 [조슈아 글레이저, 산제이 마드하브 저, "멀티플레이어 게임 프로그래밍", 길벗출판사] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # C++11 1. auto 키워드 - 형을 선언하는 자리에 대체해서 넣는 것 - 컴파일러가 컴파일할 때 형을 추론하게 지시하는 문법 - 컴파일시 추론이 이루어지므로, auto를 쓴다고 런타임에 비용이 발생하지는 않음 e.g. // int의 벡터를 선언 std::vector myVect; // auto를 사용해서 begin을 참조하는 반복자를 선언 auto iter=myVect.begin(); - 그러나 int, float를 대체하거나 하는 등, 남용하여 사용하지는 말자 - 단 auto는 기본.. 2020. 8. 21.
Ch 16. C++의 형 변환 연산자 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # C 스타일의 형 변환 연산자는 C언어의 호환성을 위해 존재하며, 이는 너무 강력하여 잘못된 형 변환을 하여도 컴파일러가 잡아내지 못하는 경우가 있다. # C++의 형 변환 연산자 1) dynamic_cast : 상속관계에서의 안전한 형변환 - dynamic_cast(변환대상) - 유도 클래스의 포인터 및 참조형 데이터를, 기초 클래스의 포인터 및 참조형 데이터로 형 변환하는 경우만 허용한다. 2) static_cast : 상속관계에서 유도 클래스 => 기초 클래스 로의 형 변환 뿐만 아니라(dynamic_cast), 기.. 2020. 8. 18.