我理解vector提供了一个包含clear
函数的可变接口,清除了对向量中存储的所有对象的引用。我找不到一个类似的函数来清除向量中索引n
处存储的引用。有没有办法实现这样的事情,如果没有,为什么?
注意:该功能看起来像这样:
clearAtIndex :: MVector (PrimState m) a -> Int -> m ()
答案 0 :(得分:4)
包本身没有类似内容,但可以使用same implementation as clear
:
clearAtIndex :: MVector (PrimState m) a -> Int -> m ()
clearAtIndex v n = write v n uninitialised
uninitialised :: a
uninitialised = error "clearAtIndex: uninitialised element"
clear
基本上相同,但使用set v uninitialised
才能使用可能的优化。