您的位置:首页 > 其它

leveldb源码阅读知识积累4

2016-07-01 16:39 204 查看

MemTable

1,函数指针

形式1:   返回类型(*函数名)(参数表) 

使用typedef更直观更方便

形式1:typedef
 返回类型(*新类型)(参数表)

1.  typedef char (*PTRFUN)(int);   
2. PTRFUN pFun;   
3.  char glFun(int a){ return;}   
4. void main()   
5.  {   
6.     pFun = glFun;   
7.      (*pFun)(2);   
8. }   

2 C++ string assign()赋值常用方法

函数assign()常用在给string类变量赋值.

常用方法有:

1,直接用另一个字符串赋值.

如str2.assign(str1);即用str1给str2赋值.

2,用另一个字符串的一个子串赋值

如str3.assign(str1,2, 3);

3,用一个字符串的前一段子串赋值;

如str4.assign("World",5);

4,用几个相同的字符,赋值.

如str5.assign(10,'c');

 

 

Env(对系统操作的封装,如读写文件,调度任务)

 

1,二级指针

virtual
Status NewSequentialFile(conststd::string&fname,SequentialFile**
result) = 0;

使用二级指针的目的:是为了函数调用结束以后,作为函数实参的指针的值的改变可以保留下来。

试想一下,我们通过传递指针来达到修改一个值的目的,那么当你需要修改一个指针的时候呢,这个时候我们就需要指针的指针了。(例如函数给一个指针分配内存空间,这时会改变指针的指向)

2,

VA_LIST是C语言中解决变参问题的一组宏。头文件来自stdarg.h。

3,push_back()

c++中的vector头文件里面push_back函数,在vector类中作用为在vector尾部加入一个数据。

string中也有这个函数,作用是字符串之后插入一个字符。因为string也是一个容器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: