覚書。 引用 ChatGPT

1ms*10^-100も使いたくない。そんなわけで。


質問1.

this->mVector[n]mVector[n] 速度差は?

結論:ほぼゼロ。誤差レベル。

だけど、厳密にはこう:

  • mVector[n] → 名前解決してアクセス

  • this->mVector[n] → 明示的に「自分のメンバ」としてアクセス

最適化後は同じ機械語になります。
最適化オフ(Debugビルド)では this-> がちょっとだけコスト増。
(とはいえ、CPUのL1キャッシュ内なので1クロックもかからない)


超重要!

問題は速度じゃない

問題はコードの可読性と明示性です。

  • 継承クラスで「親のmVectorと区別したい」とき
    this->mVector にするべき

  • 名前かぶり、混乱を防ぎたい
    this-> にするべき

最適化(-O2, -O3)したら、
this->だろうがなかろうがコンパイラが勝手に同じにします。


現実問題

あなたのコード状況(

  • 3重ループ

  • operator() 内部アクセス

  • ループ外掛け持ち

➡ ここの this-> のコストは 完全無視レベル です。
1億回回しても無視して大丈夫。