KSwordOfHaste score 18148
2018/05/31 04:09 投稿
問題はconstではなくて`&`の有無による影響が大きいです。 |
簡単な例を挙げますと |
```C++ |
class A { |
int v[100]; |
} |
void foo(A a); |
void bar(A& a); |
``` |
アドレスが64bit, int型のサイズが32bitの環境で上記を動かすとすると、 |
fooを呼び出すとき、引数をスタックに積むには少なくとも400バイトのメモリーのコピーが必要になるでしょう。しかしbarを呼び出す際にはたかだか8バイトの情報(アドレス)しかスタックへ |
fooを呼び出すとき、引数をスタックに積むには少なくとも400バイトのメモリーのコピーが必要になるでしょう。しかしbarを呼び出す際にはたかだか8バイトの情報(アドレス)しかスタックへ積む必要がないです。 |