같은편
홍익대 게임소프트웨어전공의 프로그래밍 단련 공간
같은편
깃허브 주소
https://github.com/madongchan
GitHub 아이콘
  • 분류 전체보기 (85)
    • 게임 프로그래밍 패턴 (2)
    • C# 프로그래밍 (26)
    • C++ 프로그래밍 (32)
      • 함수 (8)
      • 클래스 (22)
    • 알고리즘 공부 (2)
      • codingame 사이트 문제 (11)
    • 유니티엔진 - 게임 공부 (3)
    • 언리얼엔진 - 게임 공부 (4)
    • 쓸모 있을 수 있는 팁 (2)
    • 일상이야기 (3)

최근 댓글

태그

  • 비동기
  • 함수
  • 예외 처리
  • 최단 경로
  • 클래스
  • queue
  • 복사 생성자
  • DFS
  • 알고리즘
  • C#
  • 탐욕 알고리즘
  • c++
  • 언리얼
  • 문제 풀이
  • task
  • 객체
  • 람다식
  • 언리얼엔진4
  • 스레드
  • 언리얼엔진

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
같은편

홍익대 게임소프트웨어전공의 프로그래밍 단련 공간

C++의 Static을 알아보자
C++ 프로그래밍/함수

C++의 Static을 알아보자

2022. 7. 11. 17:45

static은 정말 중요합니다. 제가 느끼기로 편리함과 위험성을 동시에 가지지만 제대로 알고 써야하기 때문입니다.

이 static 키워드는 변수나 함수에 대해 지정할 수 있는데, 다음과 같이 세가지 경우가 있습니다.

  • 지역변수를 static으로 처리하는 경우
  • 전역변수나 함수를 static으로 처리하는 경우
  • 클래스의 멤버 변수나 멤버 함수를 static으로 처리하는 경우

세 개 모두 자주 쓰는 것 같습니다. 마지막 세 번째는 이 글에서 말고 클래스 카테고리에서 다루겠습니다.
링크를 걸어두겠습니다.

(저는 이 책을 보기 전에 static을 구별하는 법을 모르고 있었습니다. 그냥 값이 유지되는 변수로만 생각하고 있었어요
이제 알았으니 됬죠.. 뭐...!( •̀ ω •́ )✧)


1. 정적 지역변수

변수의 가시 범위와 생존기간에서 배운 지역변수 앞에 static으로 선언하면 정적 지역변수 라고 합니다.

정적 지역변수는 일반 지역변수와는 달리 전역변수와 동일한 생존기간을 갖습니다.

즉, 사용은 함수 안에서만 할 수 있지만 프로그램이 실행되는 동안 생존하는 변수입니다!!!

그리고, 정적 지역변수는 전역변수와 같이 프로그램이 시작되면 만들어져 초기화가 됩니다!!!!

저는 이것을 이책을 보고 알았어요. 이때까지 아주 커다란 오해를 하고 있었습니다.(#°Д°)

이것을 꼭 기억해야합니다.

2.정적 전역변수와 정적 함수

전역변수나 함수도 static으로 처리할 수 있습니다.

그러나 이 경우는 의미가 완전히 달라집니다!

이것은 생존기간(lifetime)이 아니라 가시 범위(visibility)의 문제가 됩니다.

전역변수나 함수를 static으로 처리하는 것은 그 "변수나 함수를 해당 파일에서만 사용하라"는 의미입니다.

이것은 매우 중요한 의미를 갖습니다.

 

동일한 이름의 전역변수나 함수를 여러 파일에서 각기 다른 용도로 만들어 사용할 수 있다는 것을 의미합니다.

(저는 이 부분을 헷갈렸어요 제가 영어를 느낌으로 해석하는것도 있긴한데. 뭔가 static은 공공의 다 오픈하는 느낌을 주는데 정적 전역변수와 정적 함수는 전혀 반대되는 기능을 하기 때문입니다. 물론 뜻은 전혀 다른 정적의, 움직이지 않는 입니다.)

저작자표시 비영리 변경금지

'C++ 프로그래밍 > 함수' 카테고리의 다른 글

참조자의 반환  (0) 2022.07.21
함수로 배열을 전달, 반환  (0) 2022.07.21
변수의 가시 범위와 생존기간  (0) 2022.07.11
디폴트 매개변수  (0) 2022.06.30
라이브러리 함수와 사용자 정의 함수  (0) 2022.06.29
    같은편
    같은편
    책을 통해 이때까지 블로그나 유튜브에서 얻었던 지식의 파편들을 정립하고 합쳐 단단한 발판으로 만들기 위한 블로그

    티스토리툴바