>  기사  >  백엔드 개발  >  C++에서 정적의 역할

C++에서 정적의 역할

下次还敢
下次还敢원래의
2024-05-06 19:45:231168검색

C++에서 static의 역할

C++에서 static 키워드는 변수, 함수, 클래스의 범위와 수명 주기를 제어하는 ​​데 사용됩니다.

Variables

  • 함수 내에서 정적으로 선언된 변수를 정적 지역 변수라고 합니다.
  • 정적 지역 변수는 함수가 처음 실행될 때 초기화되고 함수 수명 내내 유지됩니다.
  • 함수가 반환되거나 해당 범위를 벗어나더라도 정적 지역 변수의 값은 변경되지 않습니다.

Function

  • 클래스 외부에서 정적으로 선언된 함수를 정적 멤버 함수라고 합니다.
  • 정적 멤버 함수는 클래스의 정적 멤버 변수에만 액세스할 수 있고 비정적 멤버 변수에는 액세스할 수 없습니다.
  • 정적 멤버 함수는 이 포인터에서 작동할 수 없습니다.

Classes

  • 정적 멤버 변수를 생성하려면 클래스 선언에 static 키워드를 사용하세요.
  • 정적 멤버 변수는 클래스 인스턴스가 생성되지 않더라도 프로그램 수명 주기 내내 존재합니다.
  • 정적 멤버 변수는 클래스의 모든 인스턴스에서 공유됩니다.

기타 사용법

  • Type Inlining: 성능 향상을 위해 정적 멤버 함수를 클래스 정의에 인라인할 수 있습니다.
  • 함수 인라인화: 정적 함수를 호출하는 함수에 인라인화하여 함수 호출의 오버헤드를 피할 수 있습니다.
  • 상수 정의: constexpr 표현식에 static 키워드를 사용하면 런타임에도 알려진 상수가 생성됩니다.

Summary

  • 정적 키워드는 C++에서 변수, 함수 및 클래스의 범위와 수명 주기를 제어할 수 있습니다.
  • 정적 지역 변수는 함수 수명 내내 변경되지 않습니다.
  • 정적 멤버 함수는 클래스의 정적 멤버 변수에만 액세스할 수 있으며 this 포인터에서는 작동할 수 없습니다.
  • 정적 멤버 변수는 클래스의 모든 인스턴스에서 공유됩니다.
  • 정적 키워드는 유형 인라인, 함수 인라인 및 상수 정의와 같은 다른 목적으로 사용됩니다.

위 내용은 C++에서 정적의 역할의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.