leveldb源码阅读知识积累4

来源:互联网 发布:优化推广 编辑:程序博客网 时间:2024/06/05 19:38

MemTable


1,函数指针

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

使用typedef更直观更方便

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

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. }   


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


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

常用方法有:

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

str2.assign(str1);即用str1str2赋值.

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

str3.assign(str1,2, 3);

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

str4.assign("World",5);

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

str5.assign(10,'c');

 

 

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

 

1,二级指针

virtual Status NewSequentialFile(conststd::string&fnameSequentialFile** result) = 0;

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

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

2,

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

3,push_back()

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

string中也有这个函数,作用是字符串之后插入一个字符。因为string也是一个容器。

0 0
原创粉丝点击