![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Eonekne
路漫漫其修远兮,吾将上下而求索
展开
-
自定义类的Boost堆排序
1.前言C++ STL标准模板库和Boost库都为我们提供了很好的堆的数据结构算法,利用这些算法,我们可以很高效地从一个堆中取出最大值或者最小值。本文采用的是binomial_heap二项堆,是一种利用特殊树结构实现堆排序的一种方法,这里不涉及数据结构的实现,只对该方法的实现做一个记录。2.使用#include <iostream>#include <boost/heap/binomial_heap.hpp>//设置需要排序的类class myheaq{public原创 2020-08-16 08:47:16 · 771 阅读 · 0 评论 -
函数指针做函数参数
例1:函数指针作为参数进行传递#include<iostream>using namespace std;typedef int(*fp)(int, int);int myfunc(int i, int j){ return i + j;}void testfunc(int i, int j, fp funcpoint){ int result = funcpoin...原创 2019-01-31 16:19:51 · 597 阅读 · 0 评论 -
重载运算符
1.重载=运算符重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。当我们进行类之间的定义和拷贝的时候,有的时候调用的是拷贝构造函数,有的时候调用的是重载的赋值运算符(1)首先定义一个类,在类内进行赋值运算符的定义...原创 2019-07-26 12:13:09 · 298 阅读 · 0 评论 -
lambda表达式(函数)
lambda名称来自lambda calculus,是一种使用匿名函数来定义和使用函数的数学系统。当某些函数比较简单,只是临时使用一下,便可以使用lambda表达式。1.定义及使用例如:[](int x){return x%3==0;}; bool f3(int x){return x%3==0};上面一个是lambda表达式,一个是函数,可以看出,[]代替了函数名,lambda表达式没有...原创 2019-07-26 15:22:54 · 620 阅读 · 0 评论