ウィキペディアによると、シーケンス ポイントは C++11 では非推奨です。どういう意味ですか?つまり、シーケンス ポイントによる未定義の動作には影響がないということですか?
1886 次
3 に答える
10
「シーケンスポイント」という用語の大きな問題の 1 つは、これまで存在しなかったタイプの絶対シーケンスを示唆していることです。a = (b(),c()) + d();
There are a sequence point between b()
andという表現を考えてみましょう。しかし、これは、他のすべてが明確に前または明確に後にc()
あると説明できるという意味ではありません。、、およびが、、またはの順序で評価される可能性があります。「シーケンス」ポイントの用語ではあまり明確ではありませんでしたが、新しい用語では明確になっています。c()
b()
b()
c()
d()
bcd
bdc
dbc
于 2011-11-02T13:14:19.160 に答える
9
「シーケンスポイント」という用語は、より明確な説明を提供するために廃止されました。C++ 言語は変更しないでください。
詳細はこちら
于 2010-04-07T08:10:33.900 に答える
8
「シーケンスポイント」というフレーズは廃止され、「前にシーケンスされた」などのより明確なフレーズが採用されました。シーケンスポイントはすでに理解するのが困難でした。マルチスレッドを追加すると、誰もがそれらを処理することがほとんど不可能になるため、他の表現を優先して(少なくともほとんど)削除されました。
于 2010-04-07T14:12:05.447 に答える