pNowBoxxRowxColCash[b] をポインタでアクセスしたら早くなるか?
結論:
ポインタを使っても高速化の効果はほぼありません。
std::unique_ptr<T[]> を使っている場合、pNowBoxxRowxColCash[b] は実質 *(pNowBoxxRowxColCash.get() + b) と同じなので、内部的にはすでにポインタ加算です。
-
モダンなコンパイラ(Clang, GCC, MSVC)は
[]
を 最適化 して、ポインタ演算に置き換えます。 -
[]
は人間にとって読みやすく、C++ において高速なインライン展開もされやすいです。 -
よって、次のようにポインタで書いても 可読性が落ちるだけで、パフォーマンスの違いはほぼゼロ です。
引用 ChatGPT