Какое значение по умолчанию для std :: atomic?

Я обнаружил, что на практике с различными компиляторами C ++ 11 / C ++ 14std::atomic имеет неопределенное начальное значение, как если бы это был «сырой» тип. То есть мы ожидаем, что для выражения

int a;

a может иметь любое значение. Также оказывается, что для выражения

std::atomic< int > b;

b также может иметь любое значение. Сказать это по-другому,

std::atomic< int > b;         // b is undefined

не эквивалентно

std::atomic< int > b{ 0 };    // b == 0

или

std::atomic< int > b{};       // b == 0

потому что в последних двух случаяхb инициализируется до известного значения.

Мой вопрос прост: где в спецификации C ++ 11 или C ++ 14 это поведение задокументировано?

Ответы на вопрос(2)

Ваш ответ на вопрос