English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C ++의 정적 키워드

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;