2011-06-18 1 views
0
&cycle->read_events[i] 


cycle->read_events+i 

これらは同じですが、どのようにしてどちらを優先しますか?&cycle-> read_events [i]とcycle-> read_events + iのどちらを優先しますか

+0

最初の方が良いです。 –

+2

これは、同業者との共通標準と共通言語の問題です。私たちに尋ねないで、このコードを使って作業する人に尋ねてください。 – littleadv

+0

すべてのネジ、私は第2のものが好きです。 –

答えて

1

cycle-> read_eventsがポインタまたは配列であると仮定すると、これらは同じ言語内で同一にコンパイルされます。

ただし、私はいつかを好んでいます。いつかは、C++に移植してベクターやその他のコンテナクラスを使用することにします。そのようなクラスは、ポインタの算術として+を実装するよりも、[]演算子を持つ可能性が高くなります。このようにすれば、再コンパイルを必要とせずにデータ型を変更することが容易になります。

(個人的に、私はまた、a+xよりも意図をより表現する&a[x]を見つけるが、それは純粋に好みの問題です。)

+3

私は「C++への移植」を心に留めてCコードを記述することにしっかり反対しています。 –

1

によるCプログラミングスタイルの要素、

14.1代わりに、一般的には[0]

14.3の、+ Bの代わりにを使用*使用し、一般に、[B]の代わりに*(A + B)

14.2を使用a [b]

これらのルールのそれぞれについての理論的根拠はほぼ同じです。これは短く、通常はより明確です。

関連する問題