Override
: 함수를 Override 할 때 정확한 signature 에 맞춰 override 되는지 컴파일 타임에 확인되도록 하는 키워드
위 예제에서 발생하는 실수들이 문제가 되는 이유는
IDE에서 컴파일하는데 문제가 없기 때문이다.
실제로는 잘못된 코드임에도 불구하고 말이다...
그렇다면? 이런 실수를 방지하기 위해서
함수 이름 뒤에 override 키워드를 사용하면 컴파일 타임에 에러를 발생시킨다.
C의 기본 문법 중에 const 키워드를 살펴보자.
const 키워드의 위치에 따라 포인터가 가리키는 곳이 상수인지 포인터의 주소가 상수화되는지 차이가 난다.
더 나아가서 reference(&) 와 결합해서 const int*, int* const 의 reference(&)가 된다.
r2와 r3는 각각 const int*(상수를 가리키는 포인터)의 참조와 int* const(포인터의 주소가 상수)의 참조를 나타낸다.
피드 구독하기:
댓글 (Atom)
[C++] meta programing
재귀 호출에 관해 template meta programming 을 적용한 예제를 살펴보자. #include using namespace std; int fact(int n){ if(n factorial 연산을 하는 일반적인 재귀 호출 함...
-
Smart Pointer : 포인터처럼 동작하며 자동으로 메모리를 해제하고 안전하게 resource를 관리하도록 돕는 객체 포인터는 소멸자가 호출되지 않아 memory leak이 발생한다. Java, C#같은 VM이 있는 언어는 VM에서 G...
-
nullptr 란? C++11 에서 지원하는 null pointer 상수 먼저 pointer 가 초기화될 수 있는 정수 값을 살펴보자. 정수 0은 모든 타입의 포인터에 암시적 형변환을 통해서 초기화 값으로 사용될 수 있다. 하지만 그 이...
-
자료 구조를 순회하여 데이터에 접근하는 방법을 살펴보자. Container 에 저장된 데이터에 접근하기 위해 대표적으로 Iterator의 begin(), end() function 을 사용한다. 하지만 위 예제에서 show() 함수에 배열이...
댓글 없음:
댓글 쓰기