프로그래밍을 하다가 보면 뜻하지 않게 상수 함수에서 멤벼 변수에 값을 넣어야 할 때가 있습니다.
하지만 상수함수에서는 멤벼변수에 값을 입력 할 수 없기 때문에, 값을 넣고 싶을 때 문제가 생기게 됩니다.
즉, 밑의 소스를 보면
이렇게 에러가 나타나게 되는데,
상수함수에서 이렇게 값을 입력 받기 위해 즉, 예외 처리를 위해 사용하는 키워드가
mutable 키워드 입니다.
밑의 소스를 보게 되면,
위의 소스와 같습니다. 하지만
멤버 변수에
mutable 라는 키워드를 붙이고 나서는 에러 없이 잘 컴파일 되고 실행이 되었습니다.
이렇게 사용을 하면 문제 없이 상수함수에서 입력을 받을 수 있습니다.
하지만 상수함수에서는 멤벼변수에 값을 입력 할 수 없기 때문에, 값을 넣고 싶을 때 문제가 생기게 됩니다.
즉, 밑의 소스를 보면
이렇게 에러가 나타나게 되는데,
상수함수에서 이렇게 값을 입력 받기 위해 즉, 예외 처리를 위해 사용하는 키워드가
mutable 키워드 입니다.
밑의 소스를 보게 되면,
위의 소스와 같습니다. 하지만
멤버 변수에
mutable 라는 키워드를 붙이고 나서는 에러 없이 잘 컴파일 되고 실행이 되었습니다.
이렇게 사용을 하면 문제 없이 상수함수에서 입력을 받을 수 있습니다.
'C++ Language > Tip / Information' 카테고리의 다른 글
8진수 / 10진수 / 16진수 출력하기 (0) | 2010.02.16 |
---|---|
const_cast 키워드 (0) | 2010.02.12 |
상수함수란?! (0) | 2010.02.12 |
explicit 키워드 (0) | 2010.02.10 |
C++ 코딩 스타일(제가 사용하는 코딩 스타일입니다.) (0) | 2009.04.29 |