Может ли C++20 `constinit` отказаться от изящной идиомы счетчика?
Представлен C++20 constinit
чтобы избежать фиаско с порядком статической инициализации.
Может constinit
отказаться от изящной идиомы счетчика (например, для инициализацииstd::cout
)?
1 ответ
Решение
Может C++20
constinit
отказаться от изящной идиомы счетчика?
Нет.
Фиаско порядка статической инициализации - это проблема только с фазой динамической инициализации статических объектов. Конечно, если вы не выполняете динамическую инициализацию, то проблем нет, иconstinit
обеспечивает это. Но это ничего не решает, когда вам нужна динамическая инициализация.