Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C/C++에서 전역 변수를 사용하지 말아야 하는 이유는 무엇입니까?


C++뿐만 아니라 모든 언어에서 전역 변수를 사용하지 않아야 합니다. 이는 이러한 변수가 전역 네임스페이스를 오염시키고 모든 파일에서 액세스할 수 있으므로 어디에서나 수정할 수 있기 때문에 큰 프로젝트에서 매우 불쾌한 버그를 유발할 수 있기 때문입니다. 이것이 전역 변수가 나쁜 것으로 간주되는 몇 가지 이유입니다 -

  • 전역 변수는 코드의 어느 부분에서나 변경될 수 있으므로 모든 가능한 사용을 기억하거나 추론하기 어렵습니다.

  • 전역 변수는 액세스 제어를 가질 수 없습니다. 프로그램의 일부에 국한될 수 없습니다.

  • 전역 변수를 사용하면 코드가 매우 밀접하게 결합됩니다.

  • 전역 변수를 사용하면 네임스페이스 오염이 발생합니다. 이로 인해 글로벌 값이 불필요하게 재할당될 수 있습니다.

  • 전역 변수를 사용하여 프로그램에서 테스트하는 것은 테스트할 때 분리하기 어렵기 때문에 큰 고통이 될 수 있습니다.

때로는 전역 변수만 사용해야 하는 경우가 있습니다. 그러나 그렇게하기 전에 대안이 있는지 확인하십시오. c2 위키에서 전역 변수에 대해 자세히 읽어보십시오. https://wiki.c2.com/?GlobalVariablesAreBad