c++ 对于folly::Synchronized对象来说,常量是什么意思?

km0tfn4u  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(187)

我想写一些对Synchronized<T>对象进行操作的实用函数。我可以写两个版本,一个是常量,一个是非常量,但这似乎很愚蠢。或者,我可以只为const编写一个版本。我不确定这样做是否有任何缺点,因为看起来你仍然可以通过Synchronized::wlock方法修改“锁定”对象。
folly::Synchronized允许在const Synchronized和非常量Synchronized对象-- link上调用wlock(即在写模式下独占锁定)。
但是它们返回不同的输出类型。LockedPtrConstWLockedPtr有什么区别吗?我特别感兴趣的是功能上的差异&特别是ConstWLockedPtr在功能上的不足。

pbgvytdp

pbgvytdp1#

wlock * 在const folly::Synchronized<T>&上使用时无法编译 *。所以你必须有一个可变的引用来调用wlock。对于rlock,可以使用mutable或const;它将隐式地转换为const

相关问题