1

大きな文字列またはバイト配列をパラメーターとしてメソッドに渡す場合でも、正しく覚えていれば、ポインターは完全なデータではなく、データのヒープにのみ渡されます。したがって、パフォーマンスを低下させたり、メモリを不必要に積み上げたりしないようにする必要があります。上記の記述に関して私の理解が正しいかどうかを確認したいだけですか?
文字列またはバイト配列をクラス内のプライベート変数として保持し、必要なすべてのメソッドでアクセスして、メソッド呼び出しから1つの追加パラメーターを削除する方がよいことを私は知っています。

ありがとう

4

1 に答える 1

3

大きな文字列またはバイト配列をパラメーターとしてメソッドに渡す場合でも、記憶が正しければ、完全なデータではなく、データのヒープへのポインターのみが渡されます。

はい、参照型の引数を渡すと、参照だけが値で渡されますこれは、参照型と値型の両方のパラメーターに適用される「参照渡し」とは異なることに注意してください。

詳細については、参照型と値型、およびパラメーターの受け渡しに関する私の記事を参照してください。

文字列またはバイト配列をクラス内のプライベート変数として保持し、必要なすべてのメソッドでアクセスして、メソッド呼び出しから追加のパラメーターを 1 つ削除する方がよいことはわかっています。

それは完全に文脈に依存します。それは論理的にクラスの状態の一部ですか?

于 2012-08-15T16:42:19.003 に答える