엄밀히 말하면 달성하려는 것은 비생산적인 것으로 보입니다.
일반적으로 C 프로그램에서 명시적인 유형 변환 수를 줄이고 일반적으로 소스 코드의 모든 유형 종속성을 줄이기 위해 노력합니다. 좋은 C 코드는 가능한 한 유형에 독립적이어야합니다.이는 일반적으로 가능한 한 자주 특정 유형을 철자하는 명시적인 구문 요소를 피하는 것이 좋습니다. 후자는 중복 때문에
const double foo = 5.0; /* worse */
보다
const double foo = 5; /* better */
을하는 것이 좋습니다. C 언어의 암시 적 유형 변환 규칙은 전자가 올바르게 작동하는지 확인합니다. 비교에 대해서도 마찬가지입니다. 다시, 이전보다 유형에 독립적이기 때문에이
if (foo > 0)
더 이상
if (foo > 0.0)
입니다.
이 경우의 암시 적 유형 변환은 매우 좋은 것이지 나쁜 것은 아닙니다. 그것은 당신이 일반적인 타입 독립적 인 코드를 작성하는 데 도움이됩니다. 왜 그들을 피하려고합니까?
경우에 따라 2
대신 2.0
등의 형식을 명시 적으로 표현할 수밖에없는 경우도 있습니다. 그러나 일반적으로 사람은 단지 사람이 정말로해야 할 때 그것을 할 것입니다. 왜 누군가가 진짜 필요성없이 그것을 할 것이냐는 나를 넘어선 것입니다.
출처
2009-11-25 19:24:28
AnT
이것은 C++로 태그가 지정되었으므로 질문의 예제는 매우 간단합니다. 실제 프로그램의 경우 (그리고 내장 함수를 사용하지 않을 때), 나는 정확한 타입과 명시 적 생성자의 사용을 강조한다. 모호하거나 암시적인 구성 및 변환은 찾기 어려운 버그의 원인 일뿐 아니라 성능 저하 및 일반적인 프로그램의 정확성입니다. – justin