是否存在const
影响任何 C++ 标准库算法或容器的并发性的不存在或存在的示例?如果没有,是否有任何理由const
不允许以这种方式使用 -ness?
为了澄清,我假设const
对对象的并发访问是无数据竞争的,正如在包括GotW 6在内的几个地方所提倡的那样。
以此类推,noexcept
移动操作的 -ness 会影响std::vector
s 方法的性能,例如resize
.
我浏览了几个 C++17 并发算法,希望能找到一个例子,但我什么也没找到。像这样的算法不需要or函数对象是. 我确实发现为原始的非执行策略版本采用了一个函数对象,并为C++17 执行策略版本采用了一个函数对象;我认为这可能是一个例子,程序员被迫根据函数对象是否可以安全复制(操作)来手动选择一个或另一个......但目前我怀疑这个要求只是为了支持返回类型(vs. )。transform
unary_op
binary_op
const
for_each
MoveConstructible
CopyConstructible
const
UnaryFunction
void