演算子はC+++
よりも優先順位が高いため、式は次のように評価する必要があります。<<
a << b + c << d
a << (b + c) << d
しかし、それは意味がありません。次の場合、より多くの感覚を得ることができます
a << (b + (c << d))
+
しかし、それはoverの優先順位に違反<<
していますね。コンパイラは「理にかなっている」部分をどのように評価しますか?
更新:質問をするとき、2 番目のバリアントがコンパイラによって使用されていると思いました。そのため、コンパイラがどのようにしてこの評価に至ったのか疑問に思っています。実際、最初のものが使用され、それが正しいものです。