July 2007
Intermediate to advanced
332 pages
10h 4m
English
The template class atomic<T> deliberately has no constructors because examples such as GetUniqueInteger are commonly required to work correctly even before all file-scope constructors have been called. If atomic<T> had constructors, a file-scope instance might be initialized after it had been referenced.
You can rely on zero initialization to initialize an atomic<T> to 0. To create an atomic<T> with a specific value, default-construct it first, and afterward assign a value to it. For example:
atomic<int> x; x = 2048;