ポインターをメソッドに渡すと、実際にポインターのコピーを渡すことができます。
C ++の参照とポインターの違いの詳細な説明
参照はC ++から導入され、Cには存在しません。引用の概念を理解するには、最初に変数の定義と、変数の2つの要素があります。
参照は変数ではなく、変数のエイリアスであり、変数の「名前」要素のみを満たしておらず、「スペース」要素は満たされません。言い換えれば、参照は参照される変数と同じメモリ空間を共有する必要があり、参照の変更は実際に参照される変数の変更です。また、参照は定義されたときに初期化する必要があります。
パラメーターの合格と関連ポイントのタイプ:
1値によるパス:正式なパラメーターの値を変更することはできません。正式なパラメーターを初期化する必要があり、スペースを割り当てる必要があります。
2参照パス:実際のパラメーターが初期化されている場合、スペースを割り当てる必要はありません。
3ポインターの合格:本質的に、実際のパラメーターが初期化されている場合、スペースを割り当てる必要があります。ポインターのアドレスを変更する必要がある場合は、ポインターで単に渡すことはできません。
以下は、引用されている関連コンテンツです。
1引用符の概念
2 const quotes
3パラメーターとして参照を渡す
4関数返品値としての参照
5。参照とポインターの違い
1引用符の概念
次のキーポイントを念頭に置いてください。
(1)参照は変数のエイリアスであり、独立した空間はありません
(2)参照を参照する変数と共有する必要があります
(3)参照の変更は実際にはそれが参照する変数の変更です
(4)定義時に参照を初期化する必要があります
(5)参照が初期化されると、他の変数を唱えることはできません。
次の例を参照してください。
int main(val = 100; 2 = 500; // val2のみ、つまりval = "<< val << endl;
2 const quotes
const Quoteの重要なポイントは次のとおりです。
(1)名前が示すように、const参照はconstオブジェクトへの参照です。
(2)const Referenceは非constオブジェクトを参照できますが、コンスト以外の参照はconstオブジェクトを参照することはできません。次の関数の例を参照してください。
int = 200;
(3)constによって参照されるオブジェクト値は定数であり、変更できません。
const a = 200;
(4)const参照は、異なるタイプの変数を参照できますが、一時的な変数が生成されます。次のように:
double a = 3.14; // const int&ref = tmp;リファレンスは実際には一時変数です
3パラメーターとして参照を渡す
参照をパラメーターとして渡すことは、パラメーターの1つです。実際のパラメーターが初期化されている場合、メモリスペースを割り当てる必要はありません。
void swap(int&b){b = tmp;4関数返品値としての参照
次のように、例を最初にリストします。
int a [] = {1,4,6,7,8,9,0これは、関数を割り当てオペレーターの左側に配置できる参照の別の関数です。インデックス関数は[]の参照を返します。そのため、[3]が100に変更されます。
5。参照とポインターの違い
(1)アクセス参照は直接アクセスであり、アクセスポインターは間接的なアクセスです。
(2)参照は変数のエイリアスです。
(3)参照が初期化されたら、他の変数を参照することはできませんが、ポインターはできます
(4)参照を可能な限り使用し、必要なときにポインターを使用します。
C ++の参照とポインターの違いを詳細に説明してくれてありがとう。