QUAD라는 압축기의 소스 코드를 분석하다가.

cppig1995의 이미지

QUAD라고 며칠 전부터 인상깊게 지켜보고 있었던 압축기의 소스 코드 분석에 들어갔습니다. (http://quad.sourceforge.net)
그 결과, 줄 005-006에 감격하게 되었습니다.

namespace std {}
using namespace std;

표준과 비표준을 동시에 만족시키기 위한 undefined behavior의 사용이군요. (아, namespace std {}은 문제 없으려나요? 잘 아시는 분께서 말씀해주시길.) 이식성을 높이기 위한 좋은 트릭인 것 같은데... 문제는...

namespace 구문을 지원하는 컴파일러는 대부분 std 이름공간도 지원하지 않나요?

잡담이었습니다. ;ㅂ;

JuEUS-U의 이미지

namespace std {}... 문법상에는 문제가 없죠 =ㅅ=;;;
{ } 내부에 꼭 내용이 있어야 한다는 규칙은 들어본적이....
보통 오버로딩할 때나 쓰는 구문이지만, 저런식으로 활용도 가능하나보군요.
자료를 찾아봤지만 저런 식으로 비표준 지원을 한다는 자료는 찾기 힘드네요 @_@