2017-02-07 3 views
1

나는 HELib의 소스 코드를 읽고 다음 클래스 definition 건너 오전 :반환 const로 함수 오버로드가 아닌가?

#define CLONED_PTR_DECLARE(CLONED_PTR_TYPE,CLONED_PTR_INIT) \ 
\ 
template <class X, class Cloner = CLONED_PTR_INIT<X> > class CLONED_PTR_TYPE \ 
{ \ 
...... 
    const X* get_ptr() const { return ptr; } \ 
    X* get_ptr() { return ptr; } \ 
...... 
}; \ 
\ 

을하지만 내 이해 당, C++는 반환 값에 의해 함수 오버로드가 없습니다. 그렇다면이 두 가지 효과는 무엇입니까?

+1

차이점은 리턴 유형에만있는 것이 아닙니다. 다시 봐. – user2357112

+0

(질문은 중복되는 것처럼 보이지 않지만 답변은 질문에 대한 답변입니다.) – Ryan

답변

0

반환 유형이 아니며 const 키워드입니다. 클래스의 const 인스턴스에서 메서드를 호출하면 const 메서드가 호출됩니다.

관련 문제