[C++] Effective C++ 항목 1~27 정리
CPP2023. 7. 3. 18:01[C++] Effective C++ 항목 1~27 정리

스콧 마이어스 형님의 Effective c++ 항목1~27까지 읽고 개인적으로 이해한 내용을 키워드를 중심으로 정리한 내용입니다 :) C++의 효과적인 방법 책의 구성 = 일반적인 설계전략 + C++만의 언어적 특징에 관련된 실전 세부사항 설계이슈 > 접근들 > "선택방법" "선택방법" 안목이 올라간다. 항목 1 : C++ 언어들의 연합체로 바라보는 안목은 필수 C++ : Multi Paradugm Progrmming Language (다중 패러다임 프로그래밍 언어) Procedual 기반 -> Obejct Oriented, Functional, Generic, Meta Progr..

[Algorithm] Binary Search 의 간단한 구현 (C++)
알고리즘2023. 5. 26. 12:08[Algorithm] Binary Search 의 간단한 구현 (C++)

Linear Search 보다는 상대적으로 복잡하지만 자료구조의 원소가 "정렬"되어 있을 경우 O(log n)으로 동작하는 이진 탐색을 반복문과 재귀함수로 구현해보도록 하겠습니다. 먼저 이진탐색의 로직은 정렬되어 있는 데이터의 첫번째 부분 first, 데이터의 마지막 원소 last 인덱스를 구한뒤 (first + last) / 2를 통해 mid인덱스를 구합니다. (나머지는 버립니다) 이후 mid인덱스에 들어 있는 값이 찾을려고 하는 값과 같다면 그대로 값을 찾은 것이고 찾을려고 하는 값이 mid인덱스에 들어있는 값보다 작다면 last를 mid - 1로 변경한뒤 first와 last를 다시 합한뒤 2로 나누어 mid를 다시 구해 줄 수 있습니다. 종료 조건은 first가 last보다 클 경우 입니다. fi..

[C++] C++ dynamic_cast와 RTTI
카테고리 없음2023. 5. 7. 21:18[C++] C++ dynamic_cast와 RTTI

제가 상속관계에서 형변환을 할 때와 virtual 유무에 대해 햇갈렸던 부분들을 정리한 글입니다. (틀린 부분있다면 말해주시면 감사하겠습니다) 먼저 형변환의 방법으로는 int a = 10; float b = (float)a; // 옛날 C 스타일 (구식) float c = float(a); // C++ 스타일 (신식) 위와 같은 방법과 C++의 형변환 연산자 아래의 4가지가 있습니다. - static_cast : 기본 자료형 간의 형변환과 클래스 상속관계에서의 형변환만 허용한다. 명시적 형변환 (C스타일 보다 안전하다) - const_cast : 포인터와 참조자의 const 성향을 제거하는 형 변환 - dynamic_cast : 상속관계에서의 안전한 형변환 - reinterpret_cast : 상관없는 ..

[C++] vftable
CPP2023. 4. 21. 18:14[C++] vftable

이번글은 C++의 다형성의 가상함수에 대한 글입니다. C++ 다형성에 대해서 전부는 다룰 수 없고 제가 이해한 내용중에서도 "정적 바인딩", "동적 바인딩", "가상 함수", "vftable", "순수 가상함수", "추상 클래스" 정도에 대해서만 다룰려고 합니다. 먼저 아래의 코드에서 class A { public: void Func() { cout

image