make interfaces precisely and strongly typed1 [C++ Core Guidelines] I.4 명확한 타입을 사용해서 인터페이스를 만들자 I.4: Make interfaces precisely and strongly typed 이유잘 정의된 타입은 훌륭한 문서입니다. 가독성을 높이고, 컴파일러가 타입이 정확히 쓰였는지 검증할 수도 있고, 쉽게 최적화 할 수도 있습니다. 예시 (나쁜 예)void pass(void* data); // void* 가 뭔지 이 코드만 보고는 의미를 알 수 없습니다pass() 함수를 부를 때 함수의 정의만 보고는 정확히 어떤 타입의 포인터를 전달해야 하는지, *data를 수정하는지도 알 수 없습니다. 모든 포인터 유형은 암시적으로 void*로 변환되므로 실수로 다른 포인터를 전달하기도 쉽습니다.또한, 함수 내부에서 data 를 사용하기 위해 void* 를 보다 정확한 타입으로 static_cast 해야 하는데.. 2024. 5. 9. 이전 1 다음