English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
static 키워드를 사용할 때는 변수나 데이터 멤버나 함수를 다시 변경할 수 없습니다. 그것은 프로그램의 생명 주기 동안 할당됩니다. 정적 함수는 클래스 이름을 사용하여 직접 호출할 수 있습니다.
static 변수는 한 번만 초기화됩니다. 컴파일러는 변수를 프로그램의 끝까지 유지합니다. static 변수는 함수 내부나 외부에서 정의될 수 있습니다. 이들은 블록 로컬입니다. static 변수의 기본 값은 0입니다. static 변수는 프로그램 실행 전에 항상 유효합니다.
이것은 C ++언어에서 static 키워드의 문법은
static datatype variable_name = value; // Static variable static return_type function_name { // Static functions ... }
여기서는
datatype-변수 데이터 타입, 예를 들어 int, char, float 등.
variable_name-이것은 사용자가 주어진 변수 이름입니다.
값-변수를 초기화하는 어떤 값도 있습니다. 기본적으로, 이는 0입니다.
return_type-반환 값의 함수 데이터 타입.
function_name-함수의이름의 어떤 이름도 될 수 있습니다.
이것은 C ++언어에서의静态 변수 예제,
#include <bits/stdc++.h> using namespace std; class Base { public : static int val; static int func(int a) { cout << "\nStatic member function called"; cout << "\nThe value of a : " << a; } }; int Base::val=28; int main() { Base b; Base::func(8); cout << "\nThe static variable value : " << b.val; return 0; }
출력 결과
Static member function called The value of a : 8 The static variable value : 28
위의 프로그램에서, Base 클래스에서静态 변수를 선언하고静态 함수를 정의했습니다. 예를 들어:-
public : static int val; static int func(int a) { cout << "\nStatic member function called"; cout << "\nThe value of a : " << a; }
클래스 뒤와 앞에서main()
기본적으로, 변수의 초기화는 다음과 같습니다:
int Base::val=28;
이 함수에서main()
기본 클래스의 객체를 생성하고静态 변수를 호출했습니다. Base 클래스의 객체를 사용하지 않고도静态 함수를 호출했습니다. 예를 들어:
Base b; Base::func(8); cout << "\nThe static variable value : " << b.val;