Size: a a a

2021 July 05

АК

Александр Караев... in supapro.cxx
да
источник

АК

Александр Караев... in supapro.cxx
так для этого хватило бы синтаксиса f_input("{}:{}", a, b)
ну и.. https://github.com/eliaskosunen/scnlib
источник

с

смкх in supapro.cxx
не, такой синтаксис в рантайме же упадет, если я попытаюсь в число строку записать, например. Ну или потом ошибки возникнут из-за неверного ввода. Просто с указание типа строже получается, по итогу

За линк спасибо
источник

с

смкх in supapro.cxx
@smertig
Ну т.е. как вот тут для второго случая,  я об этом
источник

АК

Александр Караев... in supapro.cxx
Не понимаю проблему. На рантайме пользователь вводит что угодно. В записи f("{:%i}", a) тип указывается дважды - в переменной a (например, int a) и в %i. То есть, например, f("{:%s}", a) было бы невалидно вообще всегда.
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Error Conditions
no_such_process if the thread is not valid

Что произойдёт, если всё же вызвать join на таком потоке? То есть поток был terminated по завершению процесса, но потом все равно вызывать join?

https://en.cppreference.com/w/cpp/thread/thread/join
источник

с

смкх in supapro.cxx
угумс. Просто когда мы пишем "{}" мы вообще никакой информации не закладываем о том, что мы там от ввода ожидаем, а так, раз формат известен на этапе компиляции, то хотя бы ошибки вида "хотел ввести символ, а ввел число" можно обрубить
источник

с

смкх in supapro.cxx
ну основная идея в этом в этом
источник

АК

Александр Караев... in supapro.cxx
В {} не закладываем, да. Но закладываем в тип переменной
источник

C

CodeDetector in supapro.cxx
Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
источник

D

Danya in supapro.cxx
Когда у тебя процесс завершился, ты никак не можешь вызвать join на потоке из этого процесса)
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
А если процесс на этапе завершения?

Тип потоки уже удалены, так как main закончился и пару вызовов произошло системных, но некоторые объекты ещё существуют…
источник

DP

Denis Paukaev in supapro.cxx
конец main не значит, что потоки удалены
источник

DP

Denis Paukaev in supapro.cxx
вообще словосочетание потоки удалены звучит само по себе странно
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
то есть я затестил и прога просто возвращает контроль мгновенно после вызова .join() и меня такое поведение устраивает, но хочу понять, UB ли это…
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
terminated
источник

DP

Denis Paukaev in supapro.cxx
join возвращает управление сразу если поток завершил выполнение кода
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
я это не отрицаю, но это не значит, что там нету UB, если join возвращает мгновенно
источник

с

смкх in supapro.cxx
Закладывать можно ошибочно просто. По невнимательности, например
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
«Если кратко: ZwTerminateProcess() вызывается до LdrShutdownProcess(), вызывающей LdrpCallInitRoutine(), а та, в свою очередь - DllMain()»

Так вот, если я здесь обращусь к статическому объекту, у которого был поток, то потоки уже
завершены, но тип безопасно ли вызывать join после такого - непонятно.
Я хочу понять, что будет, если юзер не очистит ресурсы
источник