생성자(Constructor) 함수 객체(Function Object) 함수 객체는 객체가 함수처럼 동작한다 하여 함수 객체라고 할 수 있는데 우리가 전에 배웠던 연산자 오버로딩에서 ()라는 연산자를 오버로딩하여 객체를 함수처럼 쓸 수 있습니다. 미정의 동작(Und
매크로를 사용하면 에러가 발생했을 때 곤란할 수 있다. 기호 테이블(Symbol table)에 들어가지 않기 때문에 에러에서는 ASPECT_RATIO가 아닌 1.653로 표기된다.포인터와 포인터가 가르키는 자료 모두 const로 만들어 주어야 한다.ex) const c
pointer와 const 상수 멤버 함수(constant member function) 클래스의 인터페이스를 이해하기를 쉽게한다.(객체의 변경 가능 여부 확인 가능) reference-to-const(효율을 높이기 위함) const 키워드가 있고 없고의 차이로
Constructor 아래의 코드는 멤버 변수를 초기화하는 것이 아니라 대입하고 있는 것이다. 멤버 변수를 초기화하려면 다음과 같이 해야한다. 전자의 코드는 기본 생성자를 부르고 대입을 하기 때문에 후자의 코드보다 효율성이 떨어진다. 그리고 멤버 변수가 const거
doProcessing 함수 안에 있는 w는 인터페이스를 소스 코드에서 찾으면 어떤 형태인지 확인할 수 있으므로, 이런 인터페이스를 가리켜 명시적 인터페이스(explicit interface)라고 합니다. Widget의 멤버 함수 중 몇 개는 가상 함수이므로, 이 가상
템플릿 매개변수를 선언하는 경우의 class 및 typename은 같은 의미 지닌다. **의존 이름( 중첩 의존 타입 이름(nested dependent type name)이라고 합니다.
파생 클래스가 템플릿으로부터 인스턴스화될 때 컴파일러는 기본 클래서의 내용에 대해 아무것도 모르는 것으로 가정합니다. cpp template class SolutionOne : public Base { public: void foo() {