본문 바로가기
프로그래밍/C, C++

함수 인자에 있는 const는 어떤 의미일까?

by JR2 2021. 5. 28.

가끔 어떠한 함수에서 인자에 const가 붙은걸 볼 수 있다.

예를들면 이런거다.

long hash(const unsigned char* s)
{
	long hash = 0;
	int c;

	while (c = *s++)
	{
		hash = (((hash << 5) + hash) + c) % MAX_TABLE;
	}

	return hash % MAX_TABLE;
}

이 의미는 대~~~~충 설명하자면,

이 함수에서 const가 붙은 변수는 수정이 불가능합니다! 라고 알려주는거다.

이 함수에서는 참조(reading)만 하겠다는 의미이다.

실제로 함수 내부에서 변경을 시도하면, 컴파일 에러가 난다.

댓글