배열 클래스 첨자 [] 연산자오버로딩할때
글쓴이: hugeval / 작성시간: 일, 2010/11/07 - 5:19오후
배열 클래스같은거 보면 첨자 [] 연산자 오버로딩 함수가
const int& operator [] (int index) const; // 1번 val = arr
int& operator [] (int index); // 2번 arr
위처럼 두개인 경우가 있잖습니까
매개변수 뒤에 const 가 붙어있냐 없냐로 오버로딩이 가능한것같은데
소스가 val=arr
1번인지 2번인지 어떻게 컴파일러가 구분해서 바인딩하는지가 궁금합니다
배열 클래스의 객체가 대입연산자 기준으로 좌항에 있느냐 우항에 있느냐로 결정하는것같기도한데
혹시 이부분에 대해 설명좀 해주실수있는분 계신가요?
Forums:
안타깝지만 제시하신
제시하신 것은 상수인지 아닌지를 구분하는 것이지, 읽고 쓰는 것을 구분하는 것은 아닙니다.
저번 게시물에도 비슷한 질문이 있었지만, 읽고 쓰는 것을 구분하는 것은 기본 기능으로는 제공되지 않습니다.
More Effective C++ 에서 Proxy 관련 챕터를 읽어보시기 바랍니다.
답변 감사합니다
말씀하신 MEC++를 한번 펼쳐봐야겠네요 감사합니다~
댓글 달기