今日、私はいくつかのソースコード(ソフトウェアフレームワークの使用を説明するサンプルファイルでした)を閲覧し、次のような多くのコードを発見しました。
int* array = new int[10]; // or malloc, who cares. Please, no language wars. This is applicable to both languages
for ( int* ptr = &(array[0]); ptr <= &(array[9]); ptr++ )
{
...
}
つまり、基本的に、彼らは「アドレスにあるオブジェクトのアドレスを取得する」ことを実行しましたarray + x
。
array + 0
通常、これは、書くことやarray + 9
直接同じことをするので、明らかに愚かだと思います。私はいつもそのようなコードをsize_tforループに書き直しますが、それはスタイルの問題です。
しかし、これを使いすぎると、私は考えました。露骨に明白な何か、または言語の暗い隅に微妙に隠された何かが欠けているのでしょうか。
元のソースコードを見てみたい人は、それが厄介なものgoto
でmalloc
あり、もちろんこのポインタのことも含めて、オンラインで気軽に見てください。