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,二级指针
virtualStatus NewSequentialFile(conststd::string&fname,SequentialFile**
result) = 0;
使用二级指针的目的:是为了函数调用结束以后,作为函数实参的指针的值的改变可以保留下来。
试想一下,我们通过传递指针来达到修改一个值的目的,那么当你需要修改一个指针的时候呢,这个时候我们就需要指针的指针了。(例如函数给一个指针分配内存空间,这时会改变指针的指向)2,
VA_LIST是C语言中解决变参问题的一组宏。头文件来自stdarg.h。3,push_back()
c++中的vector头文件里面push_back函数,在vector类中作用为在vector尾部加入一个数据。string中也有这个函数,作用是字符串之后插入一个字符。因为string也是一个容器。
相关文章推荐
- C++ Builder中加载ini文件
- [leetcode-371]Sum of Two Integers(java)
- 实时数据显示--SignalR实例演示
- [Effective JavaScript 笔记]第54条:将undefined看做“没有值”
- QQ JS_SDk相关功能接口
- C++ static、const、auto、explicit关键字作用
- 发布项目的记录
- HttpClient 4.3.X教程(转载)
- VL01N销售订单拣配bapi
- android 添加新的键值,自定义按键
- hdu 5155(DP+排列组合)
- WCF、WebAPI、WCFREST、WebService之间的区别
- C++学习 —— 重新认识C++
- Ubuntu中如何根据端口查看进程
- 基于Socket的java网络编程
- 基于TCP协议的文件传输,传输带文件名等信息的文件流
- Android 隐藏App图标和Home任务栈
- Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形等。
- Android编译系统详解(三)
- C++Builder中关于TcxGrid的使用总结