通用的 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 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!