0

私はコードでこれに出くわしましたが、それが何をしているのか、またはそれが何をしているのか理解していません

pos[iter](1) += 12.0f / 900.0f;

(1)位置iterの配列値を1に初期化し、それに(12.0f / 900.0f)を追加しますか?デバッグテキストの位置を設定するためにループで使用されているため、各ループが下の次の行を高いy値(画面の低いポイント)に設定しているため、信じられません。iterは、デバッグテキストが含まれているリストに応じて0または1になります。

静的な操作かどうかはわかります。

4

1 に答える 1

5
pos[iter](1) += 12.0f / 900.0f;

pos配列、マップ、またはオーバーロードされたクラスのオブジェクトにすることができますoperator[]pos[iter]オブジェクト(関数ポインタ、ラムダ、またはオーバーロードされたクラスのoperator()場合があります)を返し、パラメータ1で呼び出します。関数呼び出しは、を使用して値を変更できるため、返されたオブジェクトへの参照を返す可能性があります+=

したがって、明確にするために(1)、何の2番目の要素にもアクセスしていません。これは、その引数を使用した関数またはメソッドの呼び出しにすぎません。operator +=このメソッドは、 (スカラーまたは実際のクラスである可能性がある)の適切なオーバーロードを持つオブジェクトを返します。

于 2013-03-26T13:41:47.397 に答える