----------------------------------------------------------------------------------
@MSGID: 2:5055/182 fcfd74eb
@PID: jNode ver. 1.5
@TID: jNode ver. 1.5
@CHRS: CP866 2
[](
https://telegra.ph/file/2b92345526523eadae1d7.jpg)**Не лечит**
[Я хочу сказать, что это лечение рака
припарками.](
https://habr.com/ru/companies/otus/articles/757648/)
Я про constinit и static order initialization fiasco.
Если вы хотя бы раз имели с ним проблемы, то, безусловно, знаете -
эта дрянь проявляется на одной-единственной платформе на планете. На
линуксе. Который болт клал на порядок инициализации статиков.
Гетеросексуальные ОС - они все еще живы, прикиньте! - с
последовательной однопоточной инициализацией shared libs, во-первых, такой проблемы
принципиально не имеют.
А во-вторых, даже на линуксе, даже на C++11 существуют (и известны)
минимум два способа гарантировать какой-никакой порядок инициализации статиков
или, хотя бы, присваивание им хоть каких-нибудь значений на старте, дабы
не шарахнуться в кордамп.
Это обмазывание сахаром на уровне языка - ну такое себе. Вместо
принципиального решения проблемы - принять, ять, наконец, стандарт для шаред либ и
делать всюду и везде инициализацию одинаково! - предлагаются какие-то
припарки, __которые и так в языке были__, и все причастные с ними, в
общем-то, знакомы.
Я уже говорил - повторюсь - деятельность комитета мне сильно
напоминает monkey business. Все сильнее и сильнее.
Ну и, finally - камон, вы серьезно? В С++20? Предполагается, что я
через пяток лет подыму свои исходники либ и буду их лопатить на новый
диалект?
Правда, что ли?
http://fido.ortoped.org.ru/photo_2023-09-04_08-00-01.jpg
--- hssergey station
* Origin: jNode ver. 1.5 (2:5055/182)
SEEN-BY: 301/1 460/58 4500/1 5001/100 5005/49
5015/255 5019/40 5020/715 848
SEEN-BY: 5020/1042 4441 12000 5030/49 1081 5055/182
5058/104 5061/133
SEEN-BY: 5083/444
@PATH: 5055/182 5020/1042 4441