C/C의 포인터 Nullity 확인
코드 검토 논의에서 한 기여자가 명시적인 NULL 검사 사용을 옹호했습니다. 다음 형식:
<code class="c">int * some_ptr; if (some_ptr == NULL) { ... }</code>
암시적 검사 대신:
<code class="c">int * some_ptr; if (some_ptr) { ... }</code>
이는 어떤 접근 방식이 선호되고 그 이유가 무엇인지에 대한 질문을 제기합니다.
명시적 NULL 비교
명시적인 NULL 비교는 포인터가 NULL이 아니어야 한다는 점을 분명히 밝히면서 의도가 더 명확합니다. 또한 다음은 유효하지 않으므로 실수로 할당하는 것을 방지합니다.
<code class="c">if (some_ptr = NULL) { ... }</code>
암시적 NULL 검사
암시적 NULL 검사는 더 간결하고 버그가 발생할 가능성이 적습니다. 할당 오류로 인해. 이는 if 문의 포인터 변수가 암시적으로 진실성(NULL 또는 NULL이 아님)으로 평가된다는 사실에 의존합니다.
권장 사항
일반적으로 다음과 같은 이유로 암시적 NULL 검사를 사용하는 것이 좋습니다.
예외
단, 명시적인 NULL 비교가 가능한 경우가 있습니다. 다음과 같은 경우에 더 적합합니다.
위 내용은 C/C의 명시적 NULL 검사와 암시적 NULL 검사: 어떤 접근 방식이 더 낫습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!