Hat std::atomic<basic_type>
Garantie der Wert von basic_type
0/0.0 zu sein (je nachdem, was anwendbar ist), wenn sie als Klassenmitglied erstellt, ohne explizit für initialisiert wird:Ist std :: atomic Garantie Initialisierung Initialisierung von Typen wie Int, Float usw. auf 0/0.0?
-
...
- und; float/double
?
Beispiel:
class Foo
{
public:
std::atomic<int> bar;
};
int main()
{
Foo foo;
return foo.bar; //foo.bar guaranteed to be 0?
}
Ich nehme an, Sie haben gelesen [das Handbuch] (http://en.cppreference.com/w/cpp/Atom/Atom/Atom) und fand es fehlend. Gibt es einen Teil von 'es findet keine Initialisierung statt der Null-Initialisierung von statischen und thread-lokalen Objekten statt', die Sie unklar finden? Im Grunde bietet 'std :: atomic bar' die gleichen (wenigen) Garantien für den Anfangswert wie' int bar'. –