
C/C++
文章平均质量分 77
银霜覆秋枫
这个作者很懒,什么都没留下…
展开
-
Hog+svm行人检测
源自:http://blog.youkuaiyun.com/liulina603/article/details/8309758(1)第一个工程是用来训练分类器和检测正样本检测率的// PeopleDetectHog.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include转载 2013-11-18 16:25:38 · 1182 阅读 · 0 评论 -
函数指针与指针函数、数组指针与指针数组
一、指针函数与函数指针1、指针函数:本质上是函数,只是函数的返回值是指针。举例如下: char* GetValue() { char* a = new char[100]; a = "char"; cout << &a << endl; return a; } 上面是返回值为char类型的指针的一个函数,函数名为GetValue,参数为空;在调用函数时,需要以与原创 2015-09-01 22:33:11 · 542 阅读 · 0 评论 -
C++ auto_ptr
在C++中,auto_ptr智能管理动态分配的对象,当对象不再使用时,auto_ptr对象自动完成对被关联对象的清理工作。是C++标准库中为了解决资源泄漏问题而提供一个智能指针类模板。auto_ptr的源代码(源自百度百科)如下:templateclass auto_ptr{private: T*ap;public: //constructor & destruct原创 2015-09-02 19:43:34 · 482 阅读 · 0 评论 -
C# 与C++的区别小结
1、C#不支持多重继承。使用多重继承可以使派生出来的类具有多重特性,使用紧凑的代码完成十分复杂的功能,但这样不可避免的是代码的调试和阅读变得困难和烦杂,原创 2015-09-04 10:41:56 · 4924 阅读 · 0 评论 -
C++ char* str与char str[]
在程序员面试宝典上看到这个两句话:1、char c[]="hello world"是分配一个局部数组;2、char *c="hello world"是分配一个全局数组;最开始还以为是书上说错了,因为自己的理解是这两种方式是等效的。下来查了一下才知道这两种方式的区别。char* str="hello world ";这个指针指向常量字符串,存储在静态存储区,是只读的,不能被修改。而c原创 2015-08-29 22:24:19 · 4092 阅读 · 0 评论 -
C++ 指针与引用的区别 小结
1、指针是一个实体,是一个变量,只不过这个变量的值存储的是内存中的一个地址。而引用是变量的别名,指向存储该变量的内存单元。2、在访问指针所指向内存单元的值时,需要对指针做解引用操作。而如果需要访问引用所指向的变量的值,则直接使用该引用。3、引用智能初始化一次,不能在再将该引用指向其他变量,即“从一而终”,而指针变量的值则可以多次改变。4、可以有const指针,但是没有const引用。原创 2015-08-29 19:51:09 · 467 阅读 · 0 评论 -
C++ sizeof 和strlen
最近经常被问道sizeof和strlen的区别,所以现在来总结一下: 1、sizeof是运算符,而strlen是函数。运算符是内置于语言的,函数是所带的库里面的。当然是前者的效率要高一些,不存在函数调用。本质上,运算符应该也算是函数,从运算符重载中可以看出来。 2、sizeof操作符的结果类型是size_t,他在头文件的typedef为unsigned int类型,该类型保证能原创 2015-08-29 14:25:46 · 519 阅读 · 0 评论 -
C++ this指针
一、this指针的理解this指针是一个特殊的指针,指向一个类的具体实例,即一个类的对象。在类中,通过this指针可以访问类的成员变量及成员函数。但this指针并不是对象本身的一部分,不会影响sizeof()操作符的结果。关于this指针有一个比较经典的举例:当你进去一个房间后,你能看到房子里的电视、冰箱和沙发,但是你却看不见整个房子了。同样的,对于一个类的实例来说,你可以看到他的成员变量原创 2015-09-02 23:33:53 · 1353 阅读 · 0 评论 -
C++宏的作用与C#里宏的代替(一)
研究生前两年做过不少项目,以前一直觉得自己水平还可以,然而今天去参加了腾讯的面试,问的问题都很基础,然而竟没有一个完完全全的回答上来,感觉自己好菜,唉,回来好好总结,为了offer继续努力。C++中的宏有什么作用,由于在C#中取消了C++中的宏,那么C++中宏的那部分作用在C#中是如何实现的呢?一、C++中宏的作用1、使用宏定义常量 示例:#define MAXSIZE 200原创 2015-08-19 23:53:32 · 9427 阅读 · 0 评论 -
C++ 静态全局变量与普通全局变量
一、存储区域:1、栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区域。通常存储局部变量,函数参数。2、堆:由new分配的内存块,需要手动释放。如果程序员没有手动释放,在程序运行结束后,操作系统自动回收。3、自由存储区:由malloc等分配的内存块,与堆相似,用free来释放。4、全局/静态存储区:用来存放全局变量和静态变量。在C中,全局变量区分初始化的和未初始化的原创 2015-08-07 11:44:28 · 2815 阅读 · 0 评论 -
C#与C++的命名空间
继续总结在腾讯面试的出丑经历--命名空间(namespace)。1、命名空间(namespace)在编程时为了为了区别不同的属性或者不同的行为,通常需要为该属性或该类行为以一个便于记住的标识符命名,因此,对于具有相同属性的同类事物,不可避免的会以相同名字来对该事物的属性或者行为命名。并且,不同的人写的程序中不可能所有的变量都没有重名。为了解决这个问题,引入了命名空间这个概念,用来组织和重写原创 2015-08-20 21:56:02 · 2525 阅读 · 0 评论 -
C++宏的作用与C#里宏的代替(三)
6、宏组合 #和##先上一段代码:#include "stdafx.h"#includeusing namespace std;#define s5(a) Connect_##a#define s(p) #pvoid Connect_Test(const char* p){ cout << "this is Connect Test:" << endl;原创 2015-08-20 14:23:35 · 5652 阅读 · 0 评论 -
C++宏的作用与C#里宏的代替(二)
继续宏的作用,上一篇文章总结了使用宏定义常量和使用宏防止多重包含。下边接着总结。3、条件编译C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白符号。预处理指令是以#开头的代码行,#必须是该行除了空白字符外的第一个字符。#后是指令关键字,在#和指令关键字之间允许存在若干空白字符。使用宏进行条件编译的用法与原创 2015-08-20 11:37:16 · 3913 阅读 · 0 评论 -
C++ 内存的字节对齐
一、字节对齐的原因 在访问内存时,如果地址是按4字节对齐,则访问效率会高很多。这种现象的原因在于访问内存的硬件电路。一般情况下,地址总线总是按照对齐后的地址来访问。例如,你想得到0x00000001开始的四字节内容,系统首先需要以0x00000000读四字节,从中取得3字节,然后再用0x00000004作为开始地址,获得下一个4字节,再从中得到第一个字节,再次组合出需要得到原创 2015-08-29 11:31:19 · 1235 阅读 · 0 评论 -
CString ,BSTR ,LPCTSTR之间关系和区别
CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字符串的表示转载 2014-05-15 14:18:06 · 663 阅读 · 0 评论 -
#ifdef _DEBUG
在看人家代码的时候经常看到下边这段转载 2014-04-10 21:15:24 · 699 阅读 · 0 评论 -
c++ vector用法
C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。标准库vector类型使用需要的头文件:#include 。vector 是一个类模板。不是一种数据类型,vector是一种数据类型。Vector的存储空间是连续的,list不是连续存储的。一、 定义和初始化vecto转载 2013-11-04 10:22:12 · 812 阅读 · 0 评论 -
双边滤波算法的原理、流程、实现及效果
源自:http://blog.youkuaiyun.com/dangchangying/article/details/14451963一、引言 双边滤波在图像处理领域中有着广泛的应用,比如去噪、去马赛克、光流估计等等,最近,比较流行的Non-Local算法也可以看成是双边滤波的一种扩展。自从Tomasi et al等人提出该算法那一天起,如何快速的实现他,一直是人转载 2013-11-22 15:26:36 · 3023 阅读 · 1 评论 -
图像滤波常见方法原理总结及VC下实现
源自:http://blog.youkuaiyun.com/likezhaobin/article/details/6915748 在进行图像目标识别与跟踪时,摄像机所采集的图像,在成像、数字化以及传输过程中,难免会受到各种各样噪声的干扰,图像的质量往往会出现不尽人意的退化,影响了图像的视觉效果。通常这些噪声干扰使得图像退化,表现为图像模糊,特征淹没,这会对图像分析产生不利,使所获得的图像质量转载 2013-11-22 15:39:42 · 1292 阅读 · 0 评论 -
Win32编程---实现点,线,面的绘制
源自:http://blog.youkuaiyun.com/chenqiai0/article/details/8045123Win32编程---实现点,线,面的绘制#include #include using namespace std; //----------函数声明--------------- void init(H转载 2013-11-13 21:16:28 · 960 阅读 · 0 评论 -
常见小波变换开源代码
源自:http://www.cnblogs.com/celerychen/p/3460296.htmlhttp://herbert.the-little-red-haired-girl.org/en/software/wavelet/http://users.math.uni-potsdam.de/~gwl/http://pages.cs.wisc.edu/~kline/wvlib转载 2013-12-07 13:41:29 · 6259 阅读 · 1 评论 -
基于人头检测的人流量监测
源自:http://blog.youkuaiyun.com/soulusst/article/details/9305445最近在做基于Meanshift的人脸跟踪,效果一般。标准算法选择Hue分量作为特征,为了提高对背景的鲁棒性,有人提出了结合梯度、LBP等特征的多特征空间。但是直方图维数太少,而且丢失空间信息,使得特征分类价值退化严重。经测试,对于背景颜色与肤色类似(黄色)的情况,跟踪失效。因此看转载 2013-12-10 09:19:58 · 10228 阅读 · 1 评论 -
OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
源自:http://blog.youkuaiyun.com/chenyusiyuan/article/details/4733691在OpenCV中文论坛看到有不少帖子讲到如何在MFC下应用OpenCV进行图像和视频处理的方法,受益颇丰,主要有下面这些帖子: 1、opencv 数据读写操作+图像噪声+ MFC下OpenCV源代码 2、MFC中快速应用OpenCV & 相转载 2013-12-12 17:20:32 · 1092 阅读 · 0 评论 -
图像八方向链码的边界跟踪算法
源自:http://blog.sina.com.cn/s/blog_6b41baed0100nmps.html//于八方向链码的边界跟踪代码,其中nVerct数组存储的是边界点的矢量方向,Coordinate存储的是边界点的坐标。BOOL CDib::PickBoundary(BYTE* nVerct,int (*Coordinate)[2]){if(NULL ==转载 2013-12-12 15:29:04 · 10713 阅读 · 1 评论 -
vs2008 MFC程序 读取显示图像、更改背景图像
源自:http://blog.youkuaiyun.com/yousheng324/article/details/6785479一、创建MFC首先创建一个MFC对话框应用程序(Dialog-based Application)如下:在VS2005和2008里,我们可以用一个 Solution 来组合几转载 2013-12-12 17:14:56 · 1926 阅读 · 0 评论 -
OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
源自:http://blog.youkuaiyun.com/chenyusiyuan/article/details/4744097原始版本下载页面(仅显示图像): http://download.youkuaiyun.com/source/1779188 P.S.:后面又添加了播放视频和捕获摄像头画面的功能,其中播放视频的功能只有 'Play' 和 'Stop',不能实现暂停,《转载 2013-12-12 17:18:33 · 1891 阅读 · 0 评论 -
封闭连续区域的面积和周长计算【2】--面积与周长
上次本来想介绍怎么计算封闭连续区域的面积和周长,结果不小心说成了sobel算子的介绍,这次真的介绍如何计算面积和周长。这里试验用到三幅图片,test1,test2,test3.test4如下图所示: 图1 实际场景中图片图2 人造数据集,场景包含多个物转载 2013-12-13 09:24:47 · 2954 阅读 · 0 评论 -
MFC-控件大全-Slider Control
转自:http://blog.sina.com.cn/s/blog_70b3b3a70100v5iz.htmlMFC-控件大全-Slider Con所有的控件的创建基本都是同一套道路;第一步:.h中创建一个CSliderCtrl 类的对象 ; CSliderCtrl m_ctrlSlider;第二步:.cpp中的void转载 2013-12-22 17:03:33 · 1540 阅读 · 0 评论 -
C++ 预处理、编译、汇编、链接
一个C++程序一般需要经过以下几个步骤才能成为可执行程序:那么,在以上的每一步中,编译器到底做了哪些工作呢?一、编译器预处理C++编译器自带预处理器,在程序编译之前,由预处理器对C++源程序完成预处理工作。预处理主要将源程序中的宏定义指令、条件编译指令、头文件包含指令以及特殊符号完成相应的替换工作。预处理指令#include用于包含头文件,有两种形式:#include ,#in原创 2015-08-26 11:14:33 · 2028 阅读 · 0 评论