16

ウィキペディアによると、シーケンス ポイントは C++11 では非推奨です。どういう意味ですか?つまり、シーケンス ポイントによる未定義の動作には影響がないということですか?

4

3 に答える 3

10

「シーケンスポイント」という用語の大きな問題の 1 つは、これまで存在しなかったタイプの絶対シーケンスを示唆していることです。a = (b(),c()) + d(); There are a sequence point between b()andという表現を考えてみましょう。しかし、これは、他のすべてが明確に前または明確に後にc()あると説明できるという意味ではありません。、、およびが、、またはの順序で評価される可能性があります。「シーケンス」ポイントの用語ではあまり明確ではありませんでしたが、新しい用語では明確になっています。c()b()b()c()d()bcdbdcdbc

于 2011-11-02T13:14:19.160 に答える
9

「シーケンスポイント」という用語は、より明確な説明を提供するために廃止されました。C++ 言語は変更しないでください。

詳細はこちら

于 2010-04-07T08:10:33.900 に答える
8

「シーケンスポイント」というフレーズは廃止され、「前にシーケンスされた」などのより明確なフレーズが採用されました。シーケンスポイントはすでに理解するのが困難でした。マルチスレッドを追加すると、誰もがそれらを処理することがほとんど不可能になるため、他の表現を優先して(少なくともほとんど)削除されました。

于 2010-04-07T14:12:05.447 に答える