Copy elision:
atomic is neither copyable nor movable, hence below line of code results in error till C++ 14, later it is fixed in C++ 17.
Hence use auto, always auto after C++ 17 .
auto value = std::atomic<int>{0}; // C++ 11/14: Error
auto value = std::atomic<int>{0}; // C++ 17: OK