Does std::atomic<basic_type>
guarantee the value of basic_type
to be 0 / 0.0 (whichever is applicable) when created as a class member without being explicitely initialized for:
- int / uint / short / ushort / etc...
- and; float / double
?
Example:
class Foo
{
public:
std::atomic<int> bar;
};
int main()
{
Foo foo;
return foo.bar; //foo.bar guaranteed to be 0?
}