一个自己实现的Vector(只能处理基本类型数据) string 类型不行 bool char int double float long long 等基本s类型可用 使用模板类实现。底层为数组实现。 dvector.h dvector.cpp ...
分类:
其他好文 时间:
2020-01-02 18:26:27
阅读次数:
77
发现 zeromq 的 yqueue_t 模板类,其数据存储理念设计得非常妙。借这一理念,按照 STL 的泛型类 queue 的接口标准,我设计了一个线程安全的 单生产者/单消费者(单线程push/单线程pop) FIFO 队列,以此满足更为广泛的应用。 1. 数据存储理念的 ...
分类:
编程语言 时间:
2020-01-01 23:46:14
阅读次数:
110
tuple 的主要用途,就是把各种类型的参数组合成一个新的数据关联体(结构体),相当于早期的 std::pair 的泛化版本。 组合存储是方便了,但是,对于某些特定的应用场景,解包就成了个比较麻烦的事情。为此,我查看 gcc 8.2.0 版的 STL ...
分类:
编程语言 时间:
2020-01-01 23:23:30
阅读次数:
99
sort.Slice声明 实际使用 和C++的sort模板类似,只需要实现less函数,Go特别的是传入的函数不是直接传入less,而是一个匿名函数,匿名函数的参数是两个下标,表示两个比较元素在切片中的下标 ...
分类:
编程语言 时间:
2019-12-31 12:49:52
阅读次数:
104
算法(Algorithm):STL算法主要由头文件<algorithm>,<numeric>和<functional>组成 <algorithm> 比较、交换、查找、遍历、复制、修改、反转、排序、合并等等算法 <numeric> 只包括几个在序列上进行数学运算的模板函数,加法、乘法等 <functi ...
分类:
编程语言 时间:
2019-12-28 18:57:15
阅读次数:
81
数据结构List,叫列表,也叫线性表。栅栏fence的概念,也就是操作定位。 List的抽象模板类代码: 1 /* class List */ 2 template <class Elem> 3 class List 4 { 5 public: 6 //set the position of the ...
分类:
编程语言 时间:
2019-12-27 13:35:50
阅读次数:
101
1.如果模板函数和普通函数都可以实现,则优先调用普通函数。 2.可以通过空模板参数列表来强制调用模板函数; 3.函数模板也可以重载; 4.如果函数模板可以产生更好的匹配,优先调用函数模板; #include<iostream> using namespace std; int myAdd(int a ...
分类:
编程语言 时间:
2019-12-27 11:34:22
阅读次数:
74
1.普通函数调用时可以发生自动类型转换(隐式类型转换); 2.函数模板调用时,如果利用类型自动推导,不会发生隐式类型转换; 3.如果利用显示指定类的方式,可以发生隐式类型转换; #include<iostream> using namespace std; int myAdd(int a, int ...
分类:
编程语言 时间:
2019-12-27 11:16:21
阅读次数:
76
复习题 1.如何声明下述数据? a. actor是由30个char组成的数组。 b. betsie是由100个short组成的数组。 c. chuck是由13个float组成的数组。 d. dipsea是由64个 long double 组成的数组。 2.使用模板类array而不是数组来完成问题1。 ...
分类:
编程语言 时间:
2019-12-22 21:45:59
阅读次数:
240
Why Make_shared ? C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr, 那与 std::shared_ptr 的构造函数相比它能给我们带来什么好处呢 ? 优点 效率更高 shared_ptr ...
分类:
编程语言 时间:
2019-12-15 23:31:27
阅读次数:
168