自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 字符串转int/float/double

#include#include using namespace std;template Type stringtoNum(const string& str){istringstream iss(str);Type num;iss>>num;return num;}int main(){string str("1234.5678");

2016-07-15 15:14:52 387

原创 STL底层数据结构

STL底层数据结构实现:STL底层数据结构支持vector数组快速随机访问list双向链表快速增删deque中央控制器和多个缓冲区首尾(中间不能)快速增删和随机访问stack                  list或deque queue        list或dequ

2015-12-07 10:18:21 444

转载 C/C++ 中的0长数组(柔性数组)

在标准C和C++中0长数组如charArray[0]是不允许使用的,因为这从语义逻辑上看,是完全没有意义的。但是,GUN中却允许使用,而且,很多时候,应用在了变长结构体中,如:StructPacket{Int state;Int len;Char cData[0]; //这里的0长结构体就为变长结构体提供了非常好的支持}; 首

2015-10-26 20:21:43 358

原创 查看main函数的返回值

main 函数的返回值用于说明程序的退出状态。如果返回 0,则代表程序正常退出,否则代表程序异常退出。例如:int main(){  return 0;}命令行里运行刚才编译好的可执行文件,然后输入“echo %ERRORLEVEL%”,回车,就可以看到程序的返回值为 0 。假设刚才编译好的文件是 a.exe ,如果输入“a && dir”,则会列出当前目录下的文件

2015-10-18 22:24:53 986

原创 成员变量、实例变量、类变量、成员方法、实例方法、类方法的区别

1、成员变量包括实例变量和类变量;而成员方法包括实例方法、类方法,当然还有一种特殊的构造方法。2、类变量、类方法就是类中的变量、方法,必须是静态的,要加static;故其又称静态变量、静态方法。3、成员变量、成员方法是对象或实例中的变量、方法,不加static;类变量:静态域,静态字段,或叫静态变量,它属于该类所有实例共有的属性,在内存中只有一个地方存储这个变量。而且所有的实例都可以修

2015-10-12 14:21:29 528

原创 希尔排序

void shell_sort(int a[],int n){ int gap,i,j; for(gap=n/2;gap>0;gap/=2) for(i=gap;i<n;i++) for(j=i-gap;j>0&&a[j]>a[j-gap];j-=gap) swap(a[j],a[j+gap])

2015-10-08 23:04:22 241

转载 操作系统用户态和内核态之间的切换过程

操作系统用户态和内核态之间的切换过程1. 用户态和内核态的概念区别究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子   void testfork(){       if(0 = = fork()){       print

2015-10-05 23:23:47 607

原创 const函数特点

c++的const函数特点:1. 不能在const函数中修改所在类的对象的数据,因为const函数中的*this是常量,同样只能访问const函数;2. const函数中只能调用其他的const函数,不能调用非const函数,因为对象调用函数是需要传递对象自己,const函数中的*this是常量,非const函数中的*this是变量,因此不可以调用(除非去除*this的const属性);

2015-10-05 23:11:14 492

原创 fork()函数理解

fork()系统调用是Unix下以自身进程创建子进程的系统调用,一次调用,两次返回,如果返回是0,则是子进程,如果返回值>0,则是父进程(返回值是子进程的pid)在fork()的调用处,整个父进程空间会原模原样地复制到子进程中,包括指令,变量值,程序调用栈,环境变量,缓冲区,等等。

2015-09-24 22:52:12 313

转载 C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。  堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。堆可以动

2015-09-22 09:29:50 282

转载 typedef与#define的区别t

1、用法:typedef  int   INT;#define INT int2、区别宏定义只是简单的字符串代换(原地扩展),而typedef则不是原地扩展,它的新名字具有一定的封装性,以致于新命名的标识符具有更易定义变量的功能。typedef (int *) PINT;#define    PINT2    int*PINT a,b与int * a,i

2015-09-11 09:30:27 382

转载 C++中值传递,地址传递,引用传递的区别

一.函数参数传递方式之一:值传递1. 值传递的一个错误认识    先看题一中Exchg1函数的定义:void Exchg1(int x, int y)   //定义中的x,y变量被称为Exchg1函数的形式参数{  int tmp;  tmp=x;  x=y;  y=tmp;  printf(“x=%d,y=%d\n”,x,y)}问:你认为这个函数是

2015-09-10 23:18:29 532 1

原创 C++使用模板类

(1)可用来创建动态增长和减小的数据结构 (2)它是类型无关的,因此具有很高的可复用性。 (3)它在编译时而不是运行时检查数据类型,保证了类型安全 (4)它是平台无关的,可移植(5)可用于基本数据类型

2015-09-10 23:06:09 337

原创 抽象类的特点

抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。抽象类具有以下特性:抽象类不能实例化。抽象类可以包含抽象方法和抽象访问器。不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承。从抽象类派生的非抽象类

2015-09-09 21:51:48 685

原创 指向函数的指针

int (*p)( int,int );  用来定义 p 是一个指向函数的指针变量该函数有两个整形参数,函数值为整形。注意 *p 两侧的括号不可省略,表示 p 先与 * 结合,是指针变量,然后再与后面的 ( ) 结合,表示此指针变量指向函数,这个函数值 (即函数的返回值) 是整形的。int *p ( int,int ) 由于( )的优先级高于 *,它就成了声明一个函数P( 这个函数

2015-09-05 23:23:37 301

原创 指针常量和常量指针的区别

常量指针:const int *a或者int const *a指向常量的指针(指针本身是变量,可以被修改)int a = 5;int c=7;const int *b=&a;*b=6;//不合法,指针指向的值不可以被修改const int *b=&c;//合法,指针本身的地址值可以修改指针常量:int * const*a指针本身不可以修改

2015-09-02 21:58:17 350

原创 iplimage和Mat之间的转换

iplimage->MatMat mtx(src);Mat->iplimagedst= IplImage(mtx);

2015-09-01 10:05:31 356

转载 const char* char*和string之间的转换

1. const char* 和string 转换(1) const char*转换为 string,直接赋值即可。     EX: const char* tmp = "tsinghua".            string s = tmp;(2) string转换为const char*,利用c_str()    EX:  string s = "ts

2015-01-31 21:59:25 501

转载 HTK下实现数字的语音识别(1)链接

本实验是利用HTK来搭建了一个数字语音识别系统,主要参考了苏统华的《应用HTK搭建语音拨号系统》,但是因为还是在实验中遇到了一些问题,所以希望能够把出现的问题拿出来,与大家分享。     整个系统分为四大部分,共有11步组成:     (一)数据准备        step1 : the Task Grammar        step2 : the Diction

2014-12-10 16:22:37 552

转载 图像分割之交叉视觉皮质(ICM)代码

#include "opencv2/opencv.hpp"#include using namespace std;using namespace cv;int main( int argc, char** argv ){// read imageMat img = imread("hand.png");if (img.empty()){co

2014-11-26 10:40:14 559

转载 C++中的explicit关键字

在C++程序中很少有人去使用explicit关键字,不可否认,在平时的实践中确实很少能用的上。再说C++的功能强大,往往一个问题可以利用好几种C++特性去解决。但稍微留心一下就会发现现有的MFC库或者C++标准库中的相关类声明中explicit出现的频率是很高的。了解explicit关键字的功能及其使用对于我们阅读使用库是很有帮助的,而且在编写自己的代码时也可以尝试使用。既然C++语言提供这种特性

2014-11-24 20:27:15 300

转载 c++右值引用

点击打开链接

2014-11-20 21:39:25 306

原创 基于opencv的人脸检测代码

#define CV_NO_BACKWARD_COMPATIBILITY#include "cv.h"#include "highgui.h"#include "opencv2/opencv.hpp"#include #include #ifdef _EiC#define WIN32#endifusing namespace std;using na

2014-11-20 09:24:59 398

转载 设置图像的感兴趣区域(opencv1.0)

#include #include #include void main(){IplImage * src=cvLoadImage("baboon.jpg",-1);IplImage * dst;CvRect roi_rect_src;CvRect roi_rect_dst;cvNamedWindow("src",CV_WINDOW_AUTOSIZE);cv

2014-11-19 21:05:20 567

转载 嘴角定位

嘴角定位人脸五官中,关于嘴角定位的文献相对眼睛定位来讲要少很多,定位的方法也很不相同。作者结合工作中遇到的问题,在此按照定位过程,简要阐述如下:嘴角定位一般分为,胡子区域去除,嘴巴区域获取,嘴角定位1. 胡子区域去除  胡子的干扰,是嘴角定位最大的难题,特别是中东一些国家,留胡子人极多。而目前很多文献中,并没有提出此问题的解决方法。王罡的《基于单张正面人脸照片的三维

2014-11-19 19:57:23 703

转载 eax,ebx,ecx,edx,esi,edi,ebp,esp寄存器的作用

eax,ebx,ecx,edx,esi,edi,ebp,esp寄存器的作用eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2 ;   //可以认为是给变量eax加上-2这样的一个值。这些32位寄存器有多种用途,但每

2014-11-13 10:52:11 930

转载 断言(Assert)的用法

断言(ASSERT)的用法  我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。  在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(假设成立){ 程序正常运行;}e

2014-11-12 20:36:33 400

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除