- 博客(3)
- 收藏
- 关注
原创 C++:一个可变优先队列(Mutable Priority Queue)的实现
如果只是为了找代码,请访问https://github.com/im-red/MutablePriorityQueue,只需要其中的mutable_priority_queue.h文件就可以了,其他文件是单元测试和性能测试代码。优先队列大家都比较熟悉,其核心数据结构是堆(一个特殊的二叉树),按照《算法导论》上的介绍,支持4种操作: INSERT(S, x):把元素x插入集合S中。这...
2018-05-15 13:05:53 4185 3
原创 C++模板的定义是否只能放在头文件中?
C++模板的定义是否只能放在头文件中?答案是否定的,你也可以放在.cpp源文件中。不过,你最好还是放在头文件中,下面我会解释为什么。我不了解编译器的实现细节,无法从原理上进行解释,但可以从行为上进行探究,此处使用的编译器为gcc 5.4.0。情况1就以一个最简单的加法函数的模板为例,一般我们会把定义放在头文件中,就像这样:// add.htemplate <typename T...
2018-05-10 00:09:53 24268 22
原创 使用decltype取函数类型遇到的“invalidly declared function type”问题
在C++ STL中,有一个优先队列的实现:std::priority_queue,定义于<queue>头文件,原型为:template< typename _Tp, // 元素类型 typename _Sequence = vector<_Tp>, // 容器类型 typename _Compare = less<typenam...
2018-05-06 16:10:41 938 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人