2

読み取り専用の目的でのみ値を渡す必要がある関数があります。

例えば:

unsigned short strlen(String str)
{
  short i = 0;
  while(str[i] != '\0')
    i++;
  return i;
}

ご覧のとおり、元の値を変更したくありません。その長さを読み取るだけで済みます。String strパフォーマンスの観点から、元の変数のコピーを作成しているパラメータを、のような参照に置き換えた方がよいString &strでしょうか?

4

1 に答える 1

5

パフォーマンスの観点から、元の変数のコピーを作成しているパラメーター String str を String &str のような参照に置き換えた方が良いでしょうか?

はい、そうです。ここでは不要と思われるコピーを作成する代わりに、参照がバインドされます。オブジェクトを変更していないため、次への参照のconst方が適切です。

unsigned short strlen(String const& str)
//                           ^^^^^^
于 2013-04-27T18:12:08.283 に答える