const &
としてパラメータを送信しない理由はありますか?値は変更されず、コピーも行われません。私の理解では、const
by valueパラメータはconst
がない場合と同じであり(お互いにオーバーロードしないので)、そのままコピーされます。定数参照としての関数パラメータ
大きいオブジェクトがconst &
で送信するのが最も良いことはわかっていますが、この行がどこにあるのかわかりません。または、小さいパラメータでもで送信する場合は、は変更またはコピーされません。
注::私はこれを探してみましたが、トピックがかなり曖昧なので、私は良い答えが見つからなかったので、これは既に回答済みですか(お詫び申し上げます)const
const &
明らかに大きなものではないオブジェクトに対する値vs const &
の利点について)。
あなたは興味深い記事を見つけるかもしれない:http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/ – lccarrasco
まさにタイプ私が感謝のために探していたものの!キーワードは非常に一般的なので、検索するのは難しかったです。 –
@ lccarrasco:Dave Abrahamsは、関数内から値でオブジェクトを返すことについて話しています。問題は、関数への入力パラメータです。この場合、OPはconst参照によってネイティブ・タイプ以外のオブジェクトを渡す必要があります。 – Praetorian