std::atomic<std::shared_ptr<Struct Demo>> 是否可以安全地与 C++11 一起使用,因为所述部分特化仅适用于 C++20?

问题描述 投票:0回答:1

根据文档,其中说[强调我的]:

在标题中定义

模板< class T >

结构原子;

模板< class U >

结构原子;

(自 C++11 起)

在标题中定义

模板< class U >

结构atomicstd::shared_ptr;

模板< class U >

structatomicstd::weak_ptr;

在标题中定义 (C++20 起)

由于

std::shared<T>
的部分特化仅适用于 C++20,那么
std::atomic<std::shared_ptr<Struct Demo>>
可以安全地用于 C++11 吗?

有什么我应该注意的潜在问题吗?

c++ c++11 mutex atomic shared-ptr
1个回答
0
投票

不,

std::atomic<T>
的主要模板要求
T
可以简单复制,而
std::shared_ptr
则不然。

尝试使用它会编译失败。

© www.soinside.com 2019 - 2024. All rights reserved.