C++에서 static의 역할
C++에서 static 키워드는 변수, 함수, 클래스의 범위와 수명 주기를 제어하는 데 사용됩니다.
Variables
- 함수 내에서 정적으로 선언된 변수를 정적 지역 변수라고 합니다.
- 정적 지역 변수는 함수가 처음 실행될 때 초기화되고 함수 수명 내내 유지됩니다.
- 함수가 반환되거나 해당 범위를 벗어나더라도 정적 지역 변수의 값은 변경되지 않습니다.
Function
- 클래스 외부에서 정적으로 선언된 함수를 정적 멤버 함수라고 합니다.
- 정적 멤버 함수는 클래스의 정적 멤버 변수에만 액세스할 수 있고 비정적 멤버 변수에는 액세스할 수 없습니다.
- 정적 멤버 함수는 이 포인터에서 작동할 수 없습니다.
Classes
- 정적 멤버 변수를 생성하려면 클래스 선언에 static 키워드를 사용하세요.
- 정적 멤버 변수는 클래스 인스턴스가 생성되지 않더라도 프로그램 수명 주기 내내 존재합니다.
- 정적 멤버 변수는 클래스의 모든 인스턴스에서 공유됩니다.
기타 사용법
-
Type Inlining: 성능 향상을 위해 정적 멤버 함수를 클래스 정의에 인라인할 수 있습니다.
-
함수 인라인화: 정적 함수를 호출하는 함수에 인라인화하여 함수 호출의 오버헤드를 피할 수 있습니다.
-
상수 정의: constexpr 표현식에 static 키워드를 사용하면 런타임에도 알려진 상수가 생성됩니다.
Summary
- 정적 키워드는 C++에서 변수, 함수 및 클래스의 범위와 수명 주기를 제어할 수 있습니다.
- 정적 지역 변수는 함수 수명 내내 변경되지 않습니다.
- 정적 멤버 함수는 클래스의 정적 멤버 변수에만 액세스할 수 있으며 this 포인터에서는 작동할 수 없습니다.
- 정적 멤버 변수는 클래스의 모든 인스턴스에서 공유됩니다.
- 정적 키워드는 유형 인라인, 함수 인라인 및 상수 정의와 같은 다른 목적으로 사용됩니다.
위 내용은 C++에서 정적의 역할의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!