いつ関数の引数を参照で渡し、いつアドレスで渡すか?
質問
参照によって関数を呼び出すほうがよい場合と、アドレスによって呼び出す方がよい場合の例を誰かが説明できますか?
解決
可能な限り参照を使用して関数に引数を渡します。 引数を参照渡しすると、引数がNULLになる可能性がなくなります。 NULL値を関数に渡すことができるようにするには、ポインターを使用します。
他のヒント
これはすでに議論されています。 ポインターとリファレンスを参照してください。
便利な規則の1つは次のとおりです。
- 関数によって操作(副作用として、または出力として)される可能性がある場合は常に、オブジェクトをポインターで渡す。
- 他のすべてのオブジェクトをconst参照で渡す。
これにより、呼び出し側にとって、最小限のドキュメントとゼロのパフォーマンスコストで、どのパラメーターがconstであるかどうかが非常に明確になります。
これをプリミティブ型にも適用できますが、非出力パラメーターにconst参照を使用する必要があるかどうかは、値渡しであり、関数の出力として機能できないため、議論の余地があります何らかの方法で(もちろん、ポインタ/参照ではなく、直接型の場合)。
所属していません StackOverflow