Answer
constinit guarantees that a variable with static/thread storage duration is initialized at compile time (constant initialization), preventing the 'static initialization order fiasco' for that variable. Unlike constexpr, the variable need not be const—it can be modified at run time—but its initial value must be a constant expression.
constinit int counter = 0; // guaranteed constant-initialized
// may be modified later at runtimeReal-world example A global initialized with constinit avoids initialization-order bugs while still being mutable at runtime.