3

以下を考えると:

&row->count

&(row->count) は評価されますか、それとも (&row)->count は C++ で評価されますか?

編集: これは、C++ の優先順位に関する優れたリンクです。

4

7 に答える 7

18

優先順位のルールに関する限り、私は常に「PracticalC」でSteveOuallineによって提示されたものが好きでした。

Cには15の優先順位ルールがあります(&&は||が前に来る?:)。実用的なプログラマーは、これらを2つに減らします。

1)乗算と除算は、加算と減算の前に行われます。

2)他のすべてを括弧で囲みます。

于 2008-09-30T20:21:36.750 に答える
4

&(行->カウント)

于 2008-09-30T20:16:11.303 に答える
1

これはすでに尋ねられています。しかし、ここにリンクがあります。

編集:わかりました、この質問は非常に似ています。そして、おそらく別のものがあります。

于 2008-09-30T20:14:56.733 に答える
1

C 演算子の優先順位については、こちらで説明しています

表によると、 -> は & 演算子よりも優先度が高いため、 &(row->count) です。

于 2008-09-30T20:19:29.843 に答える
1

テストプログラムを使用してそのような質問を解決することを提案してもよろしいですか? これには、実装に対して答えが正しいことを確実に知ることができ、不適切な答えの質問のリスクにさらされないという利点があります。

于 2008-09-30T21:36:25.400 に答える
0

&(行->カウント)

于 2008-09-30T20:15:30.650 に答える
0

-> は & (のアドレス) よりも優先度が高くなります。したがって、式は &(row->count) として評価されます

于 2008-09-30T20:17:14.497 に答える