私はそれを読んだ:
Java では、すべてのパラメーターが値渡しされます。C++ では、次の方法でパラメーターを渡すことができます。
value, reference, or const-reference
ただし、関数にポインターを渡し、その関数でポインターを変更した場合、パラメーターとして指定するために使用された識別子を持つオブジェクトは変更されず、関数に渡されたポインターのみが変更されます。
これは実際には、技術的には、C++ ではすべてが COPY として値によって渡されることを意味します。違いは、このコピーされた値をメモリ アドレス (ポインターまたは参照) として使用できることです。そのため、関数として渡された既存のポインターを変更したい場合パラメータには、そのポインタが保持するメモリ アドレスの値ではなく、そのメモリ アドレスの値を渡す必要があります。
では、すべての関数パラメーターは、単一の特定の呼び出しでパラメーターとして機能するように特別に作成された既存のオブジェクトから派生した新しいコピーであり、実際の既存のオブジェクトは決して正しいものではないという仮定はありますか?