Size: a a a

2020 August 19

d

d7d1cd in pro.cxx
Надо так:
if (!foo1() || !foo2() || !foo3)
источник

O

Ofee in pro.cxx
d7d1cd
Надо так:
if (!foo1() || !foo2() || !foo3)
Думаю, что второе правило стоит расценивать, как да:
If a sequence point is present between the subexpressions E1 and E2, then both value computation and side effects of E1 are sequenced-before every value computation and side effect of E2

There is a sequence point after evaluation of the first (left) operand and before evaluation of the second (right) operand of the following binary operators: && (logical AND), || (logical OR), and , (comma).
источник

АК

Александр Караев... in pro.cxx
d7d1cd
Профи, подскажите, гарантируется ли в С программе, что вызов функций в ниже приведенном коде будет осуществлен в последовательности foo1, затем foo2, затем foo3 (конечно, при условии, что все они вернут true)?

if (foo1() || foo2() || foo3)
вопросы уровня pro.cxx
источник

d

d7d1cd in pro.cxx
Александр Караев
вопросы уровня pro.cxx
Вопросы для pro.xxx.
источник

АК

Александр Караев... in pro.cxx
d7d1cd
Вопросы для pro.xxx.
Из правил чата:
0. Простые вопросы, лабы и о IDE — в чат новичков @supapro

Операторы && и || и их логика работы описаны чуть ли не в первой главе любой книги по C++
источник

d

d7d1cd in pro.cxx
Александр Караев
Из правил чата:
0. Простые вопросы, лабы и о IDE — в чат новичков @supapro

Операторы && и || и их логика работы описаны чуть ли не в первой главе любой книги по C++
ам сорри. Постараюсь придерживаться правил.
источник

D

Dmitriy in pro.cxx
Гласси Hudobin
Нет.
Там же только foo1() выполнится, если вернет true.
В-внимательность...
Был не прав - проворонил "все вернут true"
источник

ИЛ

Игорь Лаптев... in pro.cxx
🖐 Скажите мне какой php плохой
источник

Е

Егор in pro.cxx
Игорь Лаптев
🖐 Скажите мне какой php плохой
у нас с++
источник

ИЛ

Игорь Лаптев... in pro.cxx
ага
источник

ПК

Побитый Кирпич... in pro.cxx
Игорь Лаптев
🖐 Скажите мне какой php плохой
очень плохой
источник

LA

Liber Azerate in pro.cxx
Александр Караев
Из правил чата:
0. Простые вопросы, лабы и о IDE — в чат новичков @supapro

Операторы && и || и их логика работы описаны чуть ли не в первой главе любой книги по C++
А монады описываются где? Выглядит как вопрос про maybe
источник

LA

Liber Azerate in pro.cxx
Помогите мне, пожалуйста, с таким вопросом: когда начинается выполнение функций в потоках?
https://pastebin.com/ZCrPJHzT
Вопрос относительно данного примера. Как работает семантика упорядочения мне объяснять не надо, а вот почему assertion никогда не проваливается – вопрос. Разве загрузка z не может выполниться до начала других потоков? К тому же, если я перенесу вызов join() после assertion, то оно наоборот, всегда проваливается. То есть обычный поток начинает своё исполнение после вызова join()/detach()? И что происходит с std::async() по умолчанию? Поток может и не запускаться до вызова get(), однако в этой точке поток выполнения всегда дождётся результата?
источник

ПК

Побитый Кирпич... in pro.cxx
Liber Azerate
Помогите мне, пожалуйста, с таким вопросом: когда начинается выполнение функций в потоках?
https://pastebin.com/ZCrPJHzT
Вопрос относительно данного примера. Как работает семантика упорядочения мне объяснять не надо, а вот почему assertion никогда не проваливается – вопрос. Разве загрузка z не может выполниться до начала других потоков? К тому же, если я перенесу вызов join() после assertion, то оно наоборот, всегда проваливается. То есть обычный поток начинает своё исполнение после вызова join()/detach()? И что происходит с std::async() по умолчанию? Поток может и не запускаться до вызова get(), однако в этой точке поток выполнения всегда дождётся результата?
Поток начинает выполнение в промежутке между конструктором std::thread и окончанием join()
источник

LA

Liber Azerate in pro.cxx
Побитый Кирпич
Поток начинает выполнение в промежутке между конструктором std::thread и окончанием join()
Хорошо, так почему assertion никогда не проваливается? А если я перенесу join ниже, то всегда?
источник

AN

Alexander N in pro.cxx
Рейс какой-то
источник

ПК

Побитый Кирпич... in pro.cxx
Liber Azerate
Хорошо, так почему assertion никогда не проваливается? А если я перенесу join ниже, то всегда?
А в этом коде есть гарантия выполнения ++z;?
источник

LA

Liber Azerate in pro.cxx
Побитый Кирпич
А в этом коде есть гарантия выполнения ++z;?
Да. ЕСЛИ предположить, что потоки исполняются до загрузки z, что откровенно странно, то есть. Это вообще не мой пример. Но там, откуда я его взял, утверждается, что assertion никогда не провалится
источник

VK

Valentin Kornienko in pro.cxx
Побитый Кирпич
А в этом коде есть гарантия выполнения ++z;?
Вроде бы sequential consistency должен гарантировать, что изменения атомиков видны будут
источник

ПК

Побитый Кирпич... in pro.cxx
Liber Azerate
Да. ЕСЛИ предположить, что потоки исполняются до загрузки z, что откровенно странно, то есть. Это вообще не мой пример. Но там, откуда я его взял, утверждается, что assertion никогда не провалится
Дак если есть такая гарантия, то откуда вопросы?
источник