C ++ MurmurHash3:如何散列整数

时间:2016-11-20 10:10:46

标签: c++ hash murmurhash

我对如何用整数键值调用MurmurHash3_x86_128()感到困惑,或者它是否可能?可以找到murmurhash3代码https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp。方法定义如下。

class Menu: SKScene {
var blueButton: Button!
var touchNode: SKSpriteNode!
var newScene: SKScene?

override func didMove(to view: SKView) {
    blueButton = self.childNode(withName: "Start") as! Button

} 
...
class func transitionToScene(node: String) {
    var scene = SKScene()

    switch node {
        case "NewGame":
            scene = GameScene()

        default:
            debugPrint("transition to scene called on no button")
    }
    scene.scaleMode = SKSceneScaleMode.aspectFill
    //(self.view as! SKView).presentScene(scene)

    self.view.presentScene(scene)
}

我将len整数值哈希为1。这是对还是错?

void MurmurHash3_x86_128 ( const void * key, const int len,
                   uint32_t seed, void * out )

1 个答案:

答案 0 :(得分:0)

您正在传递key,它是指向(const)int的指针,因此您应该将sizeof(int)作为长度传递。

传递1仅适用于您的平台上int宽度为1个字节的情况,这种情况很少发生。