Seems like this would be a duplicate, but maybe it is just so obvious it hasn\'t been asked...
Is this the proper way of checking if a variable (not pointer) is init
You could reference the variable in an assertion and then build with -fsanitize=address
:
void foo (int32_t& i) {
// Assertion will trigger address sanitizer if not initialized:
assert(static_cast(i) != INT64_MAX);
}
This will cause the program to reliably crash with a stack trace (as opposed to undefined behavior).