グローバル スコープにアトミック ポインターの配列があります。これらは nullptr に初期化されていますか、それとも手動でこれを行う必要がありますか?
// Found a reason to use double-braces, but is it needed??
static std::atomic<foo *> bar[CONSTANT_BAZ] {{nullptr}};
アトミックは組み込み型として扱われ (より正確には、単純なデフォルトのコンストラクターがあります)、そのため、それらのグローバル配列は自動的に 0 に初期化されnullptr
ます。
ローカルの場合のみ、手動で初期化する必要がありますが、その場合でも、二重中括弧または . を使用する必要はありませんnullptr
。これで十分です:
void baz() {
std::atomic<foo *> bar[CONSTANT_BAZ]{};
}