以下を考えると:
&row->count
&(row->count) は評価されますか、それとも (&row)->count は C++ で評価されますか?
編集: これは、C++ の優先順位に関する優れたリンクです。
以下を考えると:
&row->count
&(row->count) は評価されますか、それとも (&row)->count は C++ で評価されますか?
編集: これは、C++ の優先順位に関する優れたリンクです。
優先順位のルールに関する限り、私は常に「PracticalC」でSteveOuallineによって提示されたものが好きでした。
Cには15の優先順位ルールがあります(&&は||が前に来る?:)。実用的なプログラマーは、これらを2つに減らします。
1)乗算と除算は、加算と減算の前に行われます。
2)他のすべてを括弧で囲みます。
C 演算子の優先順位については、こちらで説明しています
表によると、 -> は & 演算子よりも優先度が高いため、 &(row->count) です。
テストプログラムを使用してそのような質問を解決することを提案してもよろしいですか? これには、実装に対して答えが正しいことを確実に知ることができ、不適切な答えの質問のリスクにさらされないという利点があります。
&(行->カウント)
-> は & (のアドレス) よりも優先度が高くなります。したがって、式は &(row->count) として評価されます