2014-04-17 2 views

답변

1
Const Correctness 튜토리얼에서

: 당신이 CONST 객체가있는 경우

, 당신은 객체를 변경할 수 있습니다 메소드를 호출하지 않기 때문에 컴파일러를시키기의 방법이 필요는 하는 방법을 알고 안전하게 호출 할 수 있습니다. 이러한 메서드를 " 함수"라고하며 const 개체에서 호출 할 수있는 유일한 함수입니다. 참고로, 멤버 메서드 만이 const 메서드처럼 이해할 수 있습니다. C++에서 객체의 모든 메소드는 객체에 대한 암시 적 포인터를받습니다. const 메소드는 사실상 const 포인터를받습니다. 당신이 const와의 개념에 새로운 있다면 전체 기사를 읽기 : (이입니다 스포일러)

그것은 가치가있을 수 있습니다.

+0

허브 셔터의 GotW 기사도 꽤 좋습니다. [GotW # 6] (http://gotw.ca/gotw/006.htm)을 참조하십시오. – Void

1

이것은 함수 (연산자)가 객체를 변경하지 않는다는 것을 의미합니다.

1

효율적으로 "this"포인터를 const 개체에 대한 포인터로 만듭니다. 즉, 객체의 멤버는 해당 메서드에서 수정할 수 없으며 해당 메서드를 const가 아닌 객체에서 호출 할 수도 없습니다.