Size: a a a

2020 July 14

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in pro.cxx
А можешь указать куда именно смотреть, а то немного лонг рид)
источник

IZ

Ilia Zviagin in pro.cxx
Andrew Titov
Этот?
if (std::lock_guard lock(mutex), a && b) {}
Слушай, я ошибся. Там имя есть. Не увидил.
источник

AT

Andrew Titov in pro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
А можешь указать куда именно смотреть, а то немного лонг рид)
Rules, пункт 9.
источник

A

Alex in pro.cxx
Ilia Zviagin
Блин, @WeekendDriver , а зачем там имя переменной?
А почему нет? Меня беспокоит время жизни, я бы ожидал, что без имени объект не доживёт до вычисления правой части.
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in pro.cxx
Andrew Titov
Rules, пункт 9.
Понял, спасибо
источник

AT

Andrew Titov in pro.cxx
Ilia Zviagin
Слушай, я ошибся. Там имя есть. Не увидил.
Вот и разобрались. :)
источник

IZ

Ilia Zviagin in pro.cxx
Andrew Titov
Вот и разобрались. :)
Ага...
источник

A

Alex in pro.cxx
Вообще странно, написано же, что запятая - это sequence point и на ней все побочные эффекты проявляются до вычисления правой части. Разве деструкция анонимного объекта - не побочный эффект, который должен произойти до вычисления правой части?
источник

A

Alex in pro.cxx
источник

AT

Alexander T in pro.cxx

if(((std::lock_guard(mtx), 0) || cond)) {}

Вот так точно должно работать и не зависит от порядка вычисления аргументов до c++17. Но выглядит отвратно.
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in pro.cxx
Alex
Вообще странно, написано же, что запятая - это sequence point и на ней все побочные эффекты проявляются до вычисления правой части. Разве деструкция анонимного объекта - не побочный эффект, который должен произойти до вычисления правой части?
the destructor call generated at the end of the lifetime of a non-temporary object
источник

A

Alex in pro.cxx
Alexander T

if(((std::lock_guard(mtx), 0) || cond)) {}

Вот так точно должно работать и не зависит от порядка вычисления аргументов до c++17. Но выглядит отвратно.
меня устраивает, лишь бы работало, но я не понял идею
Лок точно будет защищать cond?
источник

A

Alex in pro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
the destructor call generated at the end of the lifetime of a non-temporary object
это из стандарта?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in pro.cxx
Alex
это из стандарта?
Это из cppreference
источник

A

Alex in pro.cxx
из какого раздела?
источник

AS

Anatoly Shirokov in pro.cxx
Alex
меня устраивает, лишь бы работало, но я не понял идею
Лок точно будет защищать cond?
временный объект будет жить до конца полного выражения, полным выражением в твоем случае является std::lock_guard(mtx), cond
источник

A

Alex in pro.cxx
в моём - да (по крайней мере, я надеялся), а в том, что Александр выше предложил?
источник

AT

Andrew Titov in pro.cxx
Alex
Вообще странно, написано же, что запятая - это sequence point и на ней все побочные эффекты проявляются до вычисления правой части. Разве деструкция анонимного объекта - не побочный эффект, который должен произойти до вычисления правой части?
Это Си, а не C++.
источник

A

Alex in pro.cxx
Andrew Titov
Это Си, а не C++.
Упс) Не заметил, вот же... Спасибо)
источник

A

Alex in pro.cxx
сайт, блин, называется CPPreference, мне и в голову не пришло проверить
источник