通用的 C/C++ 庫 qLibc
qLibc 項目的目的就是提供一個通用的 C/C++ 庫,包括所有種類的容器和常用工具函數。
特性:
- General Containers.
- List — Doubly Linked List.
- List Table — KEY/VALUE paired table implemented on linked-list.
- Hash Table — Hash based KEY/VALUE paired table.
- Static Hash Table — Static(array/mmapped/shared) memory based KEY/VALUE paired table.
- Vector — implements a growable array of elements.
- Queue — FIFO(First In First Out) implementation.
- Stack — LIFO(Last In First Out) implementation.
- General utilities.
- Extensions.
示例代碼:
// create a hash-table with hash range 100. // Hash range does NOT mean maximum number of elements. Refer API doc. qhashtbl_t *tbl = qhashtbl(100); // add an element which key name is "score". int x = 12345; tbl->put(tbl, "score", &x, sizeof(int)); // get the value of the element. int *px = tbl->get(tbl, "score", NULL, true); if(px != NULL) { printf("%d\n", *px); free(px); } // release table tbl->free(tbl);
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!