|
inline char operator [](int index) const { .... }
위와같이 const가 붙은 메서드는
1. 맴버 변수의 값을 수정하지 않음(못함)
2. const 객체가 이를 호출할 수 있음
그리고,
아래에서 반환형이 참조형(&)인 매서드 호출로 받은 것으로는 향후 계속해서 클래스 내부의 내용을 read/write 할 수 있지만
나머지 하나의 매서드 호출로 받은 값으로는 클래스 내의 특정 순간의 내용을 read 할 수만 있습니다.
bluewing 님이 쓰신 글 :
:
: 안녕하세요.
: 클래스에서 연산자를 사용하는 것에 대해 궁금한게 있어 질문드립니다.
: 아래와 같이 문자열 처리 연산자를 정의해 놓은 것을 분석하고 있는데
: 다음과 같은 부분이 있더군요.
:
: class MyString{
:
: ............
:
: inline TCHAR & operator [](int index){ .... }
: inline char operator [](int index) const { .... }
: .............
:
: }
:
: 뒤에 const가 붙은 것은 어떤의미인가요? 상수값으로서 돌려준다는 의미인지..
: 그리고.. 리턴값이 다른 두개의 경우에 대해 모두 []을 사용하고 있는데,
: 그렇다면 각각의 경우는 어떻게 사용해야 하는지 궁금합니다.
: 즉. "TCHAR &"타입으로 돌려받을 때와 "char"타입으로 돌려받을 때 각각 어떻게 MyString클래스의
: 인스턴스를 사용해야 하는지 좀 가르쳐주셨으면 합니다.
|