
c++
文章平均质量分 64
烟消云撒
中山大学研究生,研究方向计算机视觉、机器学习
展开
-
函数指针 与 函数引用
函数指针的声明使用方式:想要指向的函数之返回类型>(*函数指针的名称)想要指向的函数之参数类型…>如要想声明一个函数指针指向以下函数:voidprint(inti){ std::coutistd::endl;}那么就可以如下操作:void(*pFunction)(int);然后如下用函数的地址给pFunction赋值:pFunction=&print;原创 2015-08-07 20:53:31 · 1202 阅读 · 0 评论 -
堆排序
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>原创 2016-04-05 21:32:13 · 514 阅读 · 0 评论 -
操作符重载实例
#include #include using namespace std;class stopWatch{public: stopWatch(); void setTime(int newMin, int newSec); stopWatch operator - (stopWatch&); void showTime();private: int min; int s原创 2016-03-13 17:33:45 · 370 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
数据结构学习笔记第一章 预备知识1.2 函数与参数1.2.1 传值参数int Abc(int a,int b,int c){ return a+b+c }int main(){z =Abc(2,x,y)}a,b,c是函数Abc的形式参数2,x,y是对应于abc的实际参数传值时实际参数通过复制构造函数将实际值复制给形式参数1.2.2 模板函数template<class原创 2016-03-24 19:06:46 · 305 阅读 · 0 评论 -
数据结构算法 (一)
//计算N!的递归int Factorial(){ if(n<=1) return 1; else return n*Factorial(n-1);}//累加a[0:n-1]templateT sum(T a[],int n){ T tsum =0; for(int i=0;i<n;i++){ tsum += a[i]; } return tsum;}//递归计算原创 2016-03-24 22:25:38 · 347 阅读 · 0 评论 -
C++泛型算法
本文主要讨论C++标准库中的泛型算法(generic algorithm)。泛型算法是使用容器的强有力的辅助工具。 如果文中有错误或遗漏之处,敬请指出,谢谢! 标准库为容器类型定义的操作很少,并没有为每个容器实现更多的操作。因为这部分操作可以抽象出来为所有的容器工作,那就是泛型算法。所谓“泛型”是指这些算法可以应用于多种容器类型上,而容器内的元素类型也可以多样化。标转载 2016-03-14 16:21:03 · 523 阅读 · 0 评论 -
单链表各种操作,VS2013+番茄插件写着真爽
//************************************************************************// 链表的各种操作2//************************************************************************//第一步,定义节点类templateclass slistNo原创 2016-03-28 23:02:09 · 1557 阅读 · 0 评论 -
C++程序变量在内存中的分配问题
转自:http://lxiongh.com/2014/04/23/cpp_for_intern/C++程序变量在内存中的分配问题栈区(stack) 由编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。堆区(heap) 一般由程序员分配释放,若程序员不释放,程序结束时可能由系统回收。注意它与数据结构中的堆是两回事,分配方式倒类似于转载 2016-05-02 13:49:56 · 445 阅读 · 0 评论 -
解决VS2013找不到windows.h文件方法
今天用 360更新软件的时候,莫名把我C盘全部弄乱了 ,我要杀了360这个婊砸。 突然我QQ掉线,微信掉线,直至点开快捷方式提示我该文件不存在,我就知道情况不好了。QQ、微信、Teamview、Chrome、猎豹WIFI.....最重要的是VS2013、VS2015,全部用不了了!!!唉,费了大半天终于装好了那些软件,VS2013老是提示我找不到windows.h文原创 2016-05-03 22:50:02 · 37005 阅读 · 1 评论 -
二叉树各种操作
#include#include #include using namespace std;//二叉树的节点类class BinTreeNode{private: int data; BinTreeNode *left, *right;public: //利用初始化列表完成data,left,rightn的初始化 BinTreeNode(const int &item, B原创 2016-04-05 19:21:17 · 518 阅读 · 0 评论 -
笔试面试搜集资料汇总
1、const 一、指针常量(比如int *const p)指针本身是常量,一旦初始化不能更改。int a=100,b=200;int *const pa=&a; //定义指针常量时初始化pa=&b; //错误,不能修改指针常量*pa=b; //可以修改指针常量所指对象的值二、指向常量的指针(比如const int * p)指针没有什么特别的,只是指向的对象初始化后原创 2016-03-09 19:58:15 · 485 阅读 · 0 评论 -
C++文件读写
int someint; float somefloat; char somechar; ifstream inFile; ofstream outFile; inFile.open("source.txt"); outFile.open("result.txt"); inFile >> someint >> somefloat >> somechar; outFile <<原创 2016-01-27 20:40:00 · 387 阅读 · 0 评论 -
rand() 和 srand() 区别和联系
srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机转载 2015-08-12 16:51:38 · 1371 阅读 · 0 评论 -
消除: warning C4996: 'sprintf': This function or variable may be unsafe. Consider 的方法
最简单的可以用的方法:选项Project | Configuration Properties | C/C++ | Preprocessor | Preprocessor Definitions 添加_CRT_SECURE_NO_DEPRECATE和_SCL_SECURE_NO_DEPRECATE _CRT_SECURE_转载 2015-09-03 17:13:21 · 611 阅读 · 0 评论 -
C++ 面向对象程序设计
面向对象程序设计语言很多,如Smalltalk、Ada、Eiffel、Object Pascal、Visual Basic、C++等等。C++语言最讨人喜欢,因为它兼容C 语言,并且具备C 语言的性能。近几年,一种叫Java 的纯面向对象语言红极一时,不少人叫喊着要用Java 革C++的命。我认为Java 好比是C++的外甥,虽然不是直接遗传的,但也几分象样。外甥在舅舅身上玩耍时洒了一泡尿,俩原创 2015-11-21 15:06:07 · 717 阅读 · 0 评论 -
卡尔曼滤波+opencv 实现人脸跟踪 小demo
#include "opencv2/objdetect/objdetect.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/video/tracking.hpp"#include #include using namespace std;原创 2015-11-21 15:58:22 · 8893 阅读 · 3 评论 -
前景检测算法_3(GMM)
摘要 本文通过opencv来实现一种前景检测算法——GMM,算法采用的思想来自论文[1][2][4]。在进行前景检测前,先对背景进行训练,对图像中每个背景采用一个混合高斯模型进行模拟,每个背景的混合高斯的个数可以自适应。然后在测试阶段,对新来的像素进行GMM匹配,如果该像素值能够匹配其中一个高斯,则认为是背景,否则认为是前景。由于整个过程GMM模型在不断更新学习中,所以对动态背原创 2015-11-24 11:17:59 · 1438 阅读 · 1 评论 -
高斯混合模型 + 高斯分布回顾
高斯混合模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。 对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以以为是图像灰度概率原创 2015-11-24 20:00:44 · 4668 阅读 · 0 评论 -
写一手好的C++代码 ,利用Strategy模式写的
策略设计模式就是将算法封装在类中,比如我们见到的进行一个二值化算法;#include #include#include using namespace cv;using namespace std;class ColorDetector{ private: int minDist; Vec3b target; Mat原创 2015-11-20 17:34:30 · 463 阅读 · 0 评论 -
c++文件操作详解
C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来)ifstream: 读操作(输入)的文件类(由istream引申而来)fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来原创 2015-11-26 10:54:47 · 455 阅读 · 0 评论 -
使用stringstream对象简化类型转换
C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int类型转换到字符串类型。为了正确地完成这个任务,你原创 2016-05-09 15:24:05 · 721 阅读 · 0 评论