Consider
#include <iostream>
#include <atomic>
struct Foo
{
std::atomic_int atomic;
};
int main() {
Foo f{1};
}
Fails to compile (gcc, C++14) with error
error: use of deleted function ‘std::atomic<int>::atomic(const std::atomic<int>&)’
(Note that MSVC compiles the code.)