{
올바르지 않은 개체는 무엇을 뜻하는가?
 제거된 객체, 소멸자가 이미 호출된 객체, 핸들의 대상이 사라진 핸들, 형 변환을 통해서 얻은 데이터 등이 있다.

그렇다면 안전하지 않은 함수는?
 sprintf, memcpy 등 범위 검사가 전혀 없으면서 메모리 작업을 하는 함수들이 있다.

그러면 어떻게 해야 하는가?
 간단하다, boost 라이브러리를 적극 활용하거나, 안쓰면 된다. ㅋㅋ 실제로 이 이야기는 KGC2008 컨퍼런스에 갔다가, 마소에서 나온 어떤 개발자를 통해서 들었다.

관련링크
http://www.ikpil.com/710
}

저작자 표시
신고

'책 정리 > C++ Coding Standards : C++ 코딩의 정석' 카테고리의 다른 글

항목 71 : 오류로부터 안전한 코드를 디자인하고 작성하라. ( Design and write error-safe code. )  (0) 2009.04.29
항목 70 : 어디까지가 오류인지 명확히 해두자. ( Distinguish between errors and non-errors. )  (0) 2009.04.28
항목 69 : 합리적인 오류 처리 방식을 수립하고, 엄격히 그 방식을 따르라. ( Establish a rational error handling policy, and follow it strictly. )  (0) 2009.04.17
항목 68 : 내부적인 가정과 규칙을 확실하게 명시하라. ( Assert liberally to document internal assumptions and invariants. )  (0) 2009.04.17
항목 100 : 배열을 다형적으로 다루어서는 안된다. ( Don’t treat arrays polymorphically. )  (0) 2009.04.17
항목 99 : 올바르지 않은 개체와 안전하지 않은 함수는 사용하지 말라. ( Don’t use invalid objects. Don’t use unsafe functions. )  (0) 2009.04.17
항목 98 : 가변 인자의 사용을 피하라. ( Don’t use varargs (ellipsis). )  (0) 2009.04.17
항목 97 : union 사용을 주의하라. ( Don’t use unions to reinterpret representation. )  (0) 2009.04.17
항목 96 : POD가 아닌 데이터를 memcpy 또는 memcmp하지 말라. ( Don’t memcpy or memcmp non-PODs. )  (0) 2009.04.17
항목 95 : C 스타일의 캐스팅은 사용하지 말라. ( Don’t use C-style casts. )  (0) 2009.04.16
항목 94 : const 는 캐스팅 하지 말자. ( Avoid casting away const. )  (0) 2009.04.16
posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요