C ++のポインタ演算子*とは何ですか?
C ++には、演算子のアドレス(&)と間接演算子(*)の2つのポインター演算子があります。ポインタは、別の変数のアドレスを含む変数です。または、別の変数のアドレスを含む変数は、他の変数を「指している」と言うことができます。変数は、オブジェクト、構造体、またはポインター自体を含む任意のデータ型にすることができます。
間接演算子(*)。これは&の補数です。オペランドで指定されたアドレスにある変数の値を返す単項演算子です。たとえば、
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // take the address of var ptr = &var; // take the value available at ptr val = *ptr; cout << "Value of var :" << var << endl; cout << "Value of ptr :" << ptr << endl; cout << "Value of val :" << val << endl; return 0; }
上記のコードをコンパイルして実行すると、次の結果が生成されます-
Value of var : 3000 Value of ptr : 0xbff64494 Value of val : 3000
-
C ++のsizeof演算子とは何ですか?
sizeofはキーワードですが、変数またはデータ型のサイズをバイト単位で決定するコンパイル時の演算子です。 sizeof演算子を使用して、クラス、構造体、共用体、およびその他のユーザー定義のデータ型のサイズを取得できます。 sizeofを使用する構文は次のとおりです- sizeof (data type) ここで、データ型は、クラス、構造体、共用体、およびその他のユーザー定義のデータ型を含む、目的のデータ型です。 sizeof演算子をchar型のオブジェクトに適用すると、1が得られます。sizeof演算子を配列に適用すると、配列IDで表されるポインターのサイズではなく、その配列の合計バイト数が
-
volatileキーワードはC++で何を意味しますか?
揮発性とは2つのことを意味します- -変数の値は、コードを変更しなくても変更される可能性があります。したがって、コンパイラが変数の値を読み取るときはいつでも、それが最後に読み取られたときと同じであるとは見なされない場合や、最後に格納された値と同じであるとは見なされない場合がありますが、再度読み取る必要があります。 -揮発性変数に値を格納する行為は、外部から観察できる「副作用」であるため、コンパイラは値を格納する行為を削除することはできません。たとえば、2つの値が連続して格納されている場合、コンパイラは実際に値を2回格納する必要があります。 例として- i = 2; i = i; コン