leveldb原始碼閱讀知識積累4

2021-07-14 07:02:04 字數 1226 閱讀 9530

形式1

:   返回型別

(*函式名

)(參數列

) 形式1:

typede

f

返回型別

(*新型別

)(參數列

)1.typedef

char(*ptrfun)(int);   

2. ptrfun pfun;   

3.charglfun(inta)   

4.voidmain()   

5.     

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');

virtual

status

newsequentialfile(const

std::string&fname,sequentialfile** result) = 0;

試想一下,我們通過傳遞指標來達到修改乙個值的目的,那麼當你需要修改乙個指標的時候呢,這個時候我們就需要指標的指標了。(例如函式給乙個指標分配記憶體空間,這時會改變指標的指向)

va_list是c

語言中解決變參問題的一組巨集。標頭檔案來自

stdarg.h

。c++

中的vector

標頭檔案裡面

push_back

函式,在

vector

類中作用為在

vector

尾部加入乙個資料。

string

中也有這個函式,作用是字串之後插入乙個字元。因為

string

也是乙個容器。

LevelDB原始碼閱讀 Status

status用來判斷函式返回的狀態資訊,封裝了錯誤碼和錯誤資訊。將不同返回值碼定義為乙個列舉型別。enum code 列舉型別本質是一種int型別,4個位元組,上述列舉型別定義不占用記憶體空間,只有當定義列舉型別變數時才占用空間,如 code code,code只能使用宣告中列出的字串來初始化。st...

leveldb 原始碼導讀

1,slice.h中slice是leveldb內部使用的字串類,很簡單 2,leveldb 儲存編碼 對於位元組儲存分大端小端位元組序還是小端小端位元組序 leveldb使用的是小端位元組序儲存,低位位元組排放在記憶體的低位址端,高位位元組排放在記憶體的高位址端。編碼分為變長的varint和固定大小...

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...