C++基礎変数
2103 ワード
変数#ヘンスウ#
変数の基本形式は、まずタイプ説明子であり、次に1つ以上の変数名からなるリストに続き、複数の変数名が含まれている場合はカンマで区切られ、最後にセミコロンで終わる.
変数命名仕様:(1)変数名は一般的に小文字(2)でカスタマイズされたクラス名は一般的に頭文字大文字(3)変数名が複数の単語から構成されている場合は、単語間で明確に区別することが望ましい
参照
リファレンスは、オブジェクトに別の名前を付けます.すべてのリファレンスはオブジェクトではありません.既存のオブジェクトに付けられた別の名前にすぎません.&と宣言してリファレンスタイプを定義します.
参照として宣言された変数は初期化する必要がありますが、初期化された値はオブジェクトでなければなりません.
一般的に初期化時には、初期化値が新しいオブジェクトにコピーされ、参照オブジェクトと参照オブジェクトの初期化が一緒になり、参照に新しい初期化をコピーするのではなく、参照は参照オブジェクトとメモリアドレスを共有します.
ししん
参照と同様に、ポインタも他のオブジェクトへの間接アクセスを実現し、ポインタを定義する方法は変数の前にアスタリスク*を付けることです.
ポインタにはオブジェクトのアドレス情報が格納されており、オブジェクトのアドレスを取得するにはアドレス取り記号を使用する必要があります&
ポインタがオブジェクトを指している場合は、参照記号(*)を解除して現在のオブジェクトにアクセスする必要があります.
const限定子
定義した変数の値を変更できない場合があります.この要件を満たすために、キーワードconstを使用して変数タイプを制限できます.
プログラムのコンパイル中にconst変数に遭遇すると、その変数を使用する場所が対応する値に置き換えられます.つまり、コンパイラはbuffSizeを使用する場所を見つけて1024で置き換えられます.デフォルトではconst変数はファイル内でのみ有効に設定され、複数のファイルに同じ名前のconst変数が表示されると、実際には異なるファイルで独立したconst変数がそれぞれ定義されます.ファイル共有が必要な場合は、コンパイラが各ファイルに対して独立した変数を生成したり、1つのファイルで他のファイルが使用可能であることを宣言したりすることは望ましくありません.解決策はconst変数に宣言しても定義してもキーワードexternを付ける必要がある.
static静的メンバー
静的データ・メンバーは、定義または説明の前にキーワードstaticを追加します.静的メンバーの初期化は、一般的なデータ・メンバーの初期化とは異なります.静的データ・メンバーの初期化のフォーマットは次のとおりです.
変数の基本形式は、まずタイプ説明子であり、次に1つ以上の変数名からなるリストに続き、複数の変数名が含まれている場合はカンマで区切られ、最後にセミコロンで終わる.
int sum = 0;
string first_name,last_name;
変数命名仕様:(1)変数名は一般的に小文字(2)でカスタマイズされたクラス名は一般的に頭文字大文字(3)変数名が複数の単語から構成されている場合は、単語間で明確に区別することが望ましい
参照
リファレンスは、オブジェクトに別の名前を付けます.すべてのリファレンスはオブジェクトではありません.既存のオブジェクトに付けられた別の名前にすぎません.&と宣言してリファレンスタイプを定義します.
Student student("baxiang",26);
Student &refStudent = student;
student.show();
refStudent.show();
参照として宣言された変数は初期化する必要がありますが、初期化された値はオブジェクトでなければなりません.
string &rName = "test1";//
一般的に初期化時には、初期化値が新しいオブジェクトにコピーされ、参照オブジェクトと参照オブジェクトの初期化が一緒になり、参照に新しい初期化をコピーするのではなく、参照は参照オブジェクトとメモリアドレスを共有します.
string name = "test";
string &rName = name;
string &othName = rName;
ししん
参照と同様に、ポインタも他のオブジェクトへの間接アクセスを実現し、ポインタを定義する方法は変数の前にアスタリスク*を付けることです.
int *value,*result;
float *height;
ポインタにはオブジェクトのアドレス情報が格納されており、オブジェクトのアドレスを取得するにはアドレス取り記号を使用する必要があります&
string test = "test";
string *testPoint = &test;
ポインタがオブジェクトを指している場合は、参照記号(*)を解除して現在のオブジェクトにアクセスする必要があります.
cout << *testPoint<
const限定子
定義した変数の値を変更できない場合があります.この要件を満たすために、キーワードconstを使用して変数タイプを制限できます.
const int buffSize = 1024;
buffSize = 512;// ,
プログラムのコンパイル中にconst変数に遭遇すると、その変数を使用する場所が対応する値に置き換えられます.つまり、コンパイラはbuffSizeを使用する場所を見つけて1024で置き換えられます.デフォルトではconst変数はファイル内でのみ有効に設定され、複数のファイルに同じ名前のconst変数が表示されると、実際には異なるファイルで独立したconst変数がそれぞれ定義されます.ファイル共有が必要な場合は、コンパイラが各ファイルに対して独立した変数を生成したり、1つのファイルで他のファイルが使用可能であることを宣言したりすることは望ましくありません.解決策はconst変数に宣言しても定義してもキーワードexternを付ける必要がある.
extern const int buffSize = 1024 // file_1.cpp
extern const int buffSize // file_1.h
static静的メンバー
静的データ・メンバーは、定義または説明の前にキーワードstaticを追加します.静的メンバーの初期化は、一般的なデータ・メンバーの初期化とは異なります.静的データ・メンバーの初期化のフォーマットは次のとおりです.
::=