C ++で参照によるポインタを渡すのはなぜですか?
ポインターが指しているオブジェクトではなくポインターを変更する必要がある場合は、参照によってポインターを渡します。
参照によってポインタを渡す方法の例を次に示します-
例
#include <iostream> using namespace std; void Decrement( int*& d ) { --d; } int main( void ) { int a = 26; int* ptr = &a; // pointer to pass // print before decrement cout<<"Before: "<< ptr << endl; Decrement( ptr); // print after increment cout<<"After: " << ptr; return 0; }
出力
Before: 0x6ffe3c After: 0x6ffe38
-
C ++のポインター変数と参照変数の違いは何ですか?
参照 変数が参照として宣言されると、それは既存の変数の代替名になります。 構文 Type &newname = existing name; 初期化 Type &pointer; pointer = variable name; ポインタ ポインタは、変数のアドレスを格納するために使用されます。 構文 Type *pointer;」と入力します 初期化 Type *pointer; pointer = variable name; 参照とポインタの主な違いは- 参照は別の名前の既存の変数を参照するために使用されますが、ポインターは変数のアドレスを格納するために使
-
なぜC++で制限修飾子を使用するのですか?
C++にはそのようなキーワードはありません。 C ++キーワードのリストは、C++言語標準のセクション2.11/1にあります。制限は、C言語のC99バージョンのキーワードであり、C++ではありません。 Cでは、制限修飾ポインター(または参照)は基本的に、ポインターのスコープについて、ポインターのターゲットはそのポインター(およびそこからコピーされたポインター)を介してのみアクセスされるというコンパイラーへの約束です。 C ++コンパイラも最適化の目的でこの定義をサポートしていますが、公用語仕様の一部ではありません。