выравнивание, он продолжит гарантировать атомарность (через блокировку, допустим), или нет, и где в стандарте это регулируется?
Покажи пример кода В C++ нельзя придавать недостаточное выравнивание объектам, поэтому гарантий никаких на невалидный код нет, конечно
Во-первых, это UB. Во-вторых, это нарушает саму атомарность для некоторых архитектур, то есть атомик может не отображаться таковым для других потоков на х86, к примеру
Судя по реализациям - получишь UB во всей красе
1) не получится такое выравнивание придать и остаться в рамках стандарта (dcl.align#5) 2) стандарт описывает работу лишь с корректно выравненными объектами (basic.life-1.1)
О, сколько раз смотрел на определение старта времени жизни, но в упор не замечал слова про выравнивание. Благодарю
alignas? Правда, он не позволит задать выравнивание меньше такового по умолчанию
Так уменьшить alignas не позволит, что и обсуждалось
Обсуждают сегодня