함수는 다음과 같습니다. 1. 함수의 지역 변수를 수정합니다. 2. 전역 함수와 전역 변수를 수정합니다. 3. 클래스의 멤버 변수를 수정합니다.
정적 함수:
1. 수정된 함수의 지역 변수:
특징: 기본값은 0이고, 한 번만 실행되며, 작업 시작 시 메모리가 열립니다. , 그리고 메모리는 전역적으로 배치됩니다
2. 전역 함수 및 전역 변수 수정:
특징: 소스 파일에서만 사용할 수 있습니다.
3. 클래스의 멤버 변수 수정:
특징: 1과 유사합니다. , 여러 개의 정적 y를 정의하지만 A y만 클래스의 크기 계산에 들어가지 않으며 클래스 객체의 존재 여부에 의존하지 않습니다(직접 호출 가능하며 외부 선언이 필요함)
4. 수정된 클래스의 함수:
특징: f(): 괄호 안에는 이 포인터가 없습니다. 이 클래스의 정적 함수와 정적 변수만 호출할 수 있습니다. 정적 변수는 정적 변수에 의존하지 않습니다. 클래스 객체 존재(외부 선언 없이 직접 호출 가능)
확장 정보:
정적의 주요 사용법:
1정적 메서드는 일반적으로 정적 메서드라고 합니다. 정적 메서드는 개체에 의존하지 않고 액세스할 수 있으므로 정적 메서드의 경우 개체가 없기 때문에 this가 없습니다. 그리고 이 기능으로 인해 클래스의 비정적 멤버 변수와 비정적 멤버 메서드는 정적 메서드에서 액세스할 수 없습니다. 비정적 멤버 메서드/변수는 호출되기 전에 특정 개체에 의존해야 하기 때문입니다.
그러나 비정적 멤버 메서드와 비정적 멤버 변수는 정적 메서드에서 액세스할 수 없지만 정적 멤버 메서드/변수는 비정적 멤버 메서드에서 액세스할 수 있다는 점에 유의해야 합니다.
2. 정적 변수
정적 변수는 정적 변수라고도 합니다. 정적 변수와 비정적 변수의 차이점은 정적 변수는 모든 객체에 의해 공유되며 메모리에 하나의 복사본만 갖습니다. .
비정적 변수는 개체가 소유하며 개체가 생성될 때 초기화됩니다. 복사본이 여러 개 있으며, 각 개체가 소유한 복사본은 서로 영향을 미치지 않습니다. 정적 멤버 변수의 초기화 순서는 정의된 순서대로 초기화됩니다.
3. 정적 코드 블록
정적 키워드는 프로그램 성능을 최적화하기 위해 정적 코드 블록을 구성하는 데에도 중요한 역할을 합니다. 정적 블록은 클래스의 어느 위치에나 배치될 수 있으며, 클래스에는 여러 정적 블록이 있을 수 있습니다.
클래스가 처음 로드되면 각 정적 블록은 정적 블록 순서대로 실행되며 한 번만 실행됩니다. 프로그램 성능을 최적화하기 위해 정적 블록을 사용할 수 있는 이유는 그 특성 때문입니다. 클래스가 로드될 때 한 번만 실행됩니다.
추천 튜토리얼: "
C 언어 튜토리얼위 내용은 C++에서 static 키워드의 역할은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!