3

constieへのポインタとして構造体を渡す、使用が推奨されるもの


int doCalculations(const MyStruct* my_struct);

structまたは、次のように値渡しします。


int doCalculations(MyStruct my_struct);

なぜ?

C++ では、 /に自明でないコンストラクターがあるconst場合に参照を渡す必要があることをどこかで読んだことを思い出します。C にはコンストラクターはありませんが、.structClassstruct

4

2 に答える 2

0

値による構造体の受け渡しが推奨されない理由は 2 つあります。

1)。構造体の内容を新しい一時変数にコピーするのにかかった時間。

2)。特に構造体が大きい場合に、無駄になるスタック領域の量。

したがって、const へのポインターを使用することは、はるかに実行可能なオプションです。

于 2013-07-08T16:33:11.360 に答える