프로그래밍

 3198, 1/160 회원가입  로그인  
   hipro
   const 맴버 함수

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3234 [복사]


const를 가능한 많이 쓰도록 하자. 객체의 값을 바꾸지 않는 곳에는 멤버 함수를 상수형으로 선언하자. 이는 컴파일러가 오류를 찾도록 하는데 많은 도움을 줄 것이다. 컴파일러가 오류를 찾는 것이 빠르고 효과적이다.

라는 문구를 봤는데 이해가 잘 안가는군요..
설명 좀 부탁드립니다.

  Hit : 5777     Date : 2011/12/05 07:26



    
qkreoghks00 나중에 님이 1000줄짜리 소스코드를 만든다고 생각해봅시다 컴파일러가 오류없이 정상적으로 컴파일을 완료했는데 올바른 입력에 대한 출력이 예상한대로 나오지 않았다고 합시다 님은 그럼 코드를 밑도끝도없이 분석해야합니다 그런데 알고보니 const 하나만 붙이면 해결되는 문제였다면 님은 얼마나 많은 시간낭비를 한것이 되겠습니까?
즉 const는 컴파일오류 없이 나타날 수 있는 잠재적 에러를 최소화하기 위한 장치라고 볼 수 있습니다

위의 사례가 이해가지 않는다면 저는 님을 이해시킬 수 없습니다 이것이 가장 최선의 예니까요
2011/12/05  
$Zero const 함수를 논리적으로 사용하는건 사실상 의미가 없습니다.
const 함수는 그 함수내에서 변수의 값을 조작하지 않겠다는 선언이나 마찬가지죠 ?
이걸 굳이 선언하지 않아도 프로그램은 쌩쌩 잘돌아갑니다.
다만, 만약 변수를 조작하면 안되는 함수인데 실수로 조작코드를 넣었다면 const 키워드가 붙어있을경우 컴파일러가 에러를 띄어서 보여줄것이고 const키워드가 없다면 컴파일 에러가 아닌 런타임에러나 원하지 않던 결과값이 나와 디버그 하는데 많은 고생이 따를것입니다.
const 키워드를 많이 붙이란 소리는 이런 이유 때문입니다. const를 붙임으로서 런타임 에러를 최소한으로 줄이자는거죠 .
2011/12/06  
hipro 아하...!!! 2011/12/06  
hipro 감사합니다ㅎㅎㅎ 2011/12/06