[C++] static 키워드 대신 anonymous namespace 의 사용을 권하는 이유가 궁금합니다.

vudghkzm의 이미지

어떤 전역 변수를 선언할 때 static 키워드 대신에 이름 없는 네임 스페이스(anonymous namespace)의 사용을 권장하는 이유가 궁금하네요.

doldori의 이미지

static이 너무나 많은 의미로 사용되어서 혼동을 줄 수 있기 때문이죠.
다양한 의미에 대해서는 뉴스그룹의 글을 참고하십시오.

internal linkage를 의미하는 static은 deprecated feature입니다.
차기 표준에서 제외될 수 있으므로 새로 작성하는 코드에서는 사용을 하지 않는 것이 좋습니다.