首页 > 代码库 > Leveldb--Slice

Leveldb--Slice

http://www.kuqin.com/database/20110919/265041.html

Slice非常简单的数据结构,它包括length和一个指向外部字节数组的指针。
为什么使用Slice,而不直接使用string呢??

  1. 相比返回string,返回Slice的开销会小的多(没有拷贝,Slice中没有实际数据,只有指向数据的指针,开销低)。
  2. leveldb允许key和value包含‘\0‘,不能返回以null结尾的c风格字符串。

C++ string和以null结尾的C风格字符串可以很方便的转换成Slice: