Здравствуйте, Alex Alexandrov, Вы писали:
AA>Ох, зря эту ветку подняли... Рекомендую прочитать все перед высказыванием мыслей.
AA>Вкратце:
А если в подробностях

? Может статью на эту тему, а то ощущается некая нехватка собранной и структурирванной информации на эту тему, причём на русском языке (помните главную идеологию RSDN — обширный портал для руско-говорящих программистов

)
Вопрос.
Как-то в одной из веток (возможно даже в этой — сейчас уже не найду) проскакивало такое заявление: поскольку явных механизмов установки барьера памяти в C++ нет, то неявным является вызов обычной функции (вроде как компилятор должен обеспечить генерацию такого кода). То есть насколько я понял вызов функции (возможно специально оформленной — естественно inline функций это не касается

) гарантировано заставляет процессор перечитывать даные из памяти и тем самым решается проблема переупорядочивании комманд. Насколько это утверждение близко к действительности, из чего оно следует и можно ли его принять на вооружение, как гарантированное средство? Вызов каких именно функции приводит к таком поведению или всех кроме подставляемых?
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.