항목 97 : union 사용을 주의하라. ( Don’t use unions to reinterpret representation. )
{ union 이 무엇인지 안다면, 어떨때 에러가 나는지 알 수 있을 것이다. union 은 사실 같은 데이터형의 확장을 하나의 형에 몰아 넣어 호환성을 극대화 할 때 사용하면 매우 좋다. .. 물론 이렇게 말만 하니 무슨 말인지 모를 것이다. 다음 예제를 보자. #include #include // 소켓 주소 담는 곳 union addr_system { sockaddr base; sockaddr_in v4; sockaddr_in6 v6; SOCKADDR_STORAGE storage; }; int main( void ) { addr_system addr_; } 이렇게 정의 하면 bind 나 기타 다른 sockaddr 이 필요한 곳에 &addr_.base; 로만 넘겨 줘도 된다. 또한 경우가 바뀌여서 v6..
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 4. 17. 00:02
최근댓글