
C++
angry ant
GISer一名,希望志同道合的朋友有问题一起来讨论,相互学习
展开
-
shared_ptr的设计与实现
参考博客:http://blog.youkuaiyun.com/hackbuteer1/article/details/7561235,本文在上述博客基础上使用了模板类来实现shared_ptr并且改进了一个小bug1.shared_ptr如何自动管理内存? 我们知道栈上的对象能够在生命周期结束时自动释放,而堆上new出来的对象只能手动delete,shared_ptr即是将普通指针包装起来,只使用shared_ptr的栈对象(如何只允许使用对象的栈对象呢?重载new运算符即可,不是本文重点),而当栈对象生命.原创 2020-11-11 16:52:59 · 392 阅读 · 0 评论 -
算法学习之--图论基础
1.图论基础: 一个图由顶点集(V)和边集(E)组成,每一条边就是一个点对(v,w),其中。如果点对是有序的(即v,w与w,v不同),那么图就是有向图,否则称作无向图(无向图是特殊的有向图)。如果在边集中允许出现(w,w)这种一个顶点的点对,这种边称为自环边。如果边集中允许出现多组相同的点对,这样的边称为平行边。2.图的表示 图的表示实际上就是对图中边的存储,每条边由两个顶点组成 (1)邻接矩阵:假设图中有n个顶点,那么图中的边有(n*n)种可能,使用n*n的二维矩阵(bool[][...原创 2020-08-25 13:09:21 · 456 阅读 · 0 评论 -
算法学习之--并查集
1.应用场景: 并查集用于解决连接类问题,判断网络中节点间的连接状态。与路径类问题相比,并查集只回答了节点之间是否连通,而具体的连通路径并不能确定,因此并查集非常高效。原创 2020-08-09 17:03:20 · 156 阅读 · 0 评论 -
算法学习之---二分搜索树
1.应用场景: 二分搜索树解决的是查找类问题,在数据有序的基础上,二分搜索树的查找效率为O(logN)。2.二分搜索树: 是一个二叉树,满足条件1.所有节点的值大于其左子节值点小于其右子节点值;2.所有节点的值大于其左子树所有节点值,小于右子树所有节点值。3.算法实现: 下面代码实现了二分搜索树的插入,删除,遍历(前序、中序、后续、广度优先),查找等操作/*************************************************************...原创 2020-07-24 00:26:46 · 654 阅读 · 0 评论 -
C++Lambda表达式基本用法
1.基本语法:[ 捕捉块 ](参数列表)->返回值 { 函数体 };捕捉块:定义lambda函数所在的作用域中的指定变量可以在lambda函数中使用;2.用法示例: (1)打印输出auto basicLambda = [](){ cout<<"hello from lambda"<<endl;};basicLambda(); (2)返回值auto basicLambda = [](int a,int b)->int{ ..原创 2020-06-13 17:46:49 · 380 阅读 · 0 评论 -
成员函数的回调函数
使用回调函数调用成员函数,重点在于成员函数的声明方式和调用1.成员函数指针的声明:typedef 返回值(ClassName::* funcPtrName)(参数1 ¶m1,参数2 ¶m2)2.回调函数的定义void callbackName(ClassName * classPtr,funcPtrName func,参数列表){ (classPtr->*func)(入参);}3.程序中回调函数的调用callbackName( cl原创 2020-05-31 23:48:48 · 264 阅读 · 0 评论 -
C++实现文本编码判断
1.概述 C++实现对utf-8,utf-8(BOM),utf-16 LE,utf-16 BE编码的文本文件进行编码判断,其中多数编码均有固定文件头,在此不赘述,难点在于utf-8(无BOM)的判断。2.代码实现///传入参数为文件名,返回值为编码名称string readFile(QString fileName)///判断字符串是否为utf-8(无BOM)编码,si...原创 2020-05-02 18:50:52 · 2109 阅读 · 0 评论 -
关于C++重载运算符
首先要知道,运算符重载只是一种语法上的方便,实质上还是一种函数的调用方式。认清这一点,运算符重载就是纸老虎了。既然是函数调用,那么它遵循函数的一般语法,不过他的函数名是operator@,@代表要重载的运算符,而参数个数取决于该运算符是一元运算符还是二元运算符。实际使用过程中,运算符重载函数最常见的声明方式是成员函数和友元函数。首先我们声明一个拥有两个int类型成员变量的类Complex2...原创 2019-10-09 23:05:16 · 270 阅读 · 0 评论