c++에서요 GNUC 관련 질문입니다.

신대섭의 이미지

보통 std 클래스를 사용할때.

using namespace std;

라고 정의해주잖아요

그런데 이 문장 앞뒤로
다음과 같은 게 붙던데요

##if__GNUC__>=3
using namespace std;
#endif

이렇게 나오는 이유를 도통 모르겠습니다.

winner의 이미지

g++ 2.x 는 써본 적이 오래되어서 기억은 안 납니다만 namespace 지원이 미약했나보네요.

ftfuture의 이미지

보면 gcc 3.0이상이면 들어가게 되어있는데요..

gcc 3.0부터

using namespace std;

가 필수사항이 되서 그런 것 같습니다.

저도 예전에 2.X대 버젼의 gcc에선 잘 컴파일 되던것들이
3.0부터 namespace 관련 에러를 밷더군요..
아마도 규칙에 좀더 엄격해진것 같습니다.