(C++) 7.9 assert 문 이해하기!

이준우·2021년 11월 14일
0

코드로 이해하는 것이 빠르다.

이런 식의 코드를 작성했다고 생각해보자. 저 printValue()같은 경우, 다른 사람들이 사용하는 api 같은 함수라고 생각하자.

그러면 배열의 크기를 넘어서는 인수 값이면 오류를 내뱉어야 다른 user들이 쉽게 이해를 할 수 있지 않겠는가? 그럴 때 사용하는 것이 assert이다!

assert문을 사용하여 조건을 걸어준 다음에, user가 해당 인수보다 넘은 값을 입력한다면 이처럼 바로 어디서 오류가 나는지 알려주는 형식인 것이다.

정말 필요한 부분이다. 우리가 어떤 문제가 발생할 때, 어떤 문제가 발생하는지에 대한 설명문인 것이다.


또한, 이처럼 static을 사용한 assert가 있는데, static을 사용하기 위해서는 complie time에 확실히 정해져야 사용이 가능하다. 위의 코드처럼 작성하면 x는 상시로 변할 수 있기 때문에, 앞에다가 const를 붙여준다면 사용이 가능하다.


static_assert같은 경우에는 뒤에 문자열을 넣어 어떤 문제가 발생했는지에 대한 명시(?)를 넣을 수 있다. 이러한 error문을 발생 시킨다.

0개의 댓글