C 模板库
deq.h = std::deque
lst.h = std::list
pqu.h = std::priority_queue
que.h = std::queue
set.h = std::set
stk.h = std::stack
str.h = std::string
ust.h = std::unordered_set
vec.h = std::vector
## 使用 使用内置类型或 typedef 类型 `T` 配置 CTL 集合。C
#include <stdio.h>
#define P #define T int #include <vec.h>
int compare(int* a, int* b) { return *b < *a; }
int main(void)
{
vec_int a = vec_int_init();
vec_int_push_back(&a, 9);
vec_int_push_back(&a, 1);
vec_int_push_back(&a, 8);
vec_int_push_back(&a, 3);
vec_int_push_back(&a, 4);
vec_int_sort(&a, compare);
foreach(vec_int, &a, it)
printf("%d\n", *it.ref);
vec_int_free(&a);
}
定义 `P` 表明类型 `T` 是 Plain Old Data (POD)。 要编译,请包含 `ctl` 目录:shell
gcc main.c -I ctl
对于具有内存所有权的类型,需要省略定义 `P`, 并需要在包含容器之前声明析构函数和拷贝构造函数的 C++ 等价函数:
要运行所有功能测试,请运行:暂无开放 Issues,或尚未同步最近议题。