While reading the source code of RocksDB's skiplist, I have found the following code:
  int UnstashHeight() const {
    int rv;
    memcpy(&rv, &next_[0], sizeof(int));
    return rv;
  }
Why it use memcpy? what if use pointer type cast like this:
  int UnstashHeight() const {
    int rv;
    rv = *((int*)&next_[0]);
    return rv;
  }
Does memcpy has better portability on supporting different cpu target? Or there is no difference at all?
 
    