C++ クラスでの静的変数の初期化
この短い記事では、C++ で静的変数を初期化する方法を学びます。
C++ での静的変数の初期化
C++ クラスでの静的変数の初期化は、静的変数に値を割り当てるプロセスです。
すべてのクラス オブジェクトは静的メンバーにアクセスできます。 他の初期化が存在しない場合、最初のオブジェクトの作成時にすべての静的データがゼロに初期化されます。
これをクラス定義に含めることはできませんが、静的変数を再宣言し、スコープ解決
演算子を使用してそのクラスの所属を決定することにより、クラスの外部で初期化できます。 通常、初期化は 2つの方法で行うことができます。
- それらを定数として定義することにより、暗黙的に。
静的
キーワードを使用して値を割り当てることにより、明示的に。
すべての静的変数が事前に初期化されていることが確実な場合にのみ、暗黙的な初期化を使用する必要があります。 それ以外の場合は、static
キーワードを使用して明示的な初期化を使用する必要があります。
コード例:
#include <iostream>
using namespace std;
class Sam {
public:
static int demo;
Sam(int x = 1, int y = 2, int z = 3) {
X = x;
Y = y;
Z = z;
}
private:
double X;
double Y;
double Z;
};
int Sam::demo = 7;
int main(void) {
Sam sam1(6, 7, 8);
cout << "Demo: " << Sam::demo << endl;
return 0;
}
出力:
Demo: 7
定数変数と静的変数の違い
C++ では、変数は、数値やテキストなどのさまざまなデータ型を格納できるコンピューターのメモリ内の格納場所に付けられた名前です。 これらの名前は識別子
と呼ばれます。
変数に格納されたデータは、時間の経過とともに変化する可能性があります。 このタイプの変数は、dynamic
または dynamic-typed
と呼ばれます。
もう 1つの変数の型は、constant
または constant-typed
と呼ばれます。 この種の変数に格納されたデータは、時間の経過とともに変化することはありません。通常、定数は、プログラムまたは関数の開始時にオブジェクトのプロパティとパラメーターを定義するために使用されます。
定数は const
キーワードで宣言され、宣言時または関数内でのみ初期化できます。 static
キーワードは変数を一度だけ作成し、同じファイル内のすべての関数が変数にアクセスできます。
Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.
Facebook