编程
文章平均质量分 69
张娃娃
北邮小硕一枚,专业:通信与信息系统。
展开
-
stdafx.h与预编译头文件
关于#include "stdafx.h"关于VC编译器,它总有奇奇怪怪的编译选项。让我们这些搞C/C++的菜鸟经常不知所云。今天就来简单总结一下stdafx.h吧我编译工程的时候,出现fatal error C1010: unexpected end of file while looking for precompiled header directive。非常常见的一个错误。转载 2013-04-01 15:01:35 · 982 阅读 · 0 评论 -
Static用法总结
http://blog.csdn.net/hackbuteer1/article/details/7487694Static可以应用于普通的变量和函数,也可以应用于类中。变量和函数的static用法静态全局变量有以下特点: 该变量在全局数据区分配内存; 未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非原创 2014-04-23 14:37:58 · 583 阅读 · 0 评论 -
快速排序
快速排序采用分治的思想,将序列分为两部分进行排序。在首次取基准值之后产生了一个坑,所以要找一个比基准值小的值来填充这个坑,从右边开始寻找,找到之后填充了这个坑,又会在右边产生一个坑,从左边在开始寻找比基准值大的数来填充这个坑,直到左右的指针相遇,在相遇点将基准值准确的填入。这样就经过了第一趟排序。快速排序每次将待排序数组分为两个部分,在理想状况下,每一次都将待排序数组划分成等长两个部分原创 2014-05-15 21:43:42 · 799 阅读 · 0 评论 -
字符串循环移位
实现字符串的循环移位,如abcdefg左移两位为cdefgab;#include "string"#include "iostream"using namespace std;void Reversebuffer(char buffer[],int start, int end ){ char temp; while(start<end) { temp=buffer[st原创 2014-05-09 20:57:00 · 838 阅读 · 0 评论 -
实现字符串中单词顺序的逆置
比如 i love you 变换为you love i原创 2014-05-09 21:01:59 · 1306 阅读 · 0 评论 -
字符数组的操作
1、实现字符串数组的逆序,使用非递归的原创 2014-04-27 15:33:11 · 592 阅读 · 0 评论 -
字符数组与字符串string详解
字符串可以用字符数组与字符串变量两种方式来存储,效果类似。一、用字符数组来存储字符串: char st1[100],st2[100] ; //字符数组说明cin>>st1>>st2;long a,b;输入:hello, world则st1={‘h’,’e’,’l’,’l’,’o’,’,’,’\0’}st2={‘w’,’o’,’r’,’l’,’d’,’\0}字转载 2014-04-27 15:18:45 · 730 阅读 · 0 评论 -
malloc()和free()的用法与详解
一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因,应该有多种,比如说空间不足就是一种。void free(void *FirstByte):该转载 2014-04-13 15:39:15 · 1255 阅读 · 0 评论 -
查找字符串
在一个主串中查找相应的子串,如原创 2014-05-13 17:08:34 · 617 阅读 · 0 评论 -
字符串逆反
字符串的逆反,原创 2014-04-29 10:04:37 · 1354 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
转载地址:http://www.cnblogs.com/BlueTzar/articles/1223313.html转载 2014-04-29 10:09:58 · 536 阅读 · 0 评论 -
类的sizeof
转载地址http://blog.csdn.net/valerie_7/article/details/67576641、空类的sizeof是1。空类是指没有成员的类,类中的函数不占空间,除非是虚函数。如: class A { public: A(){} ~转载 2014-04-21 16:13:21 · 538 阅读 · 0 评论 -
排序算法---直接插入算法
直接插入算法直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。例如:假设待排序元素为49,38,65,97,76,13,27,49原创 2014-04-03 20:48:44 · 681 阅读 · 0 评论 -
实现文件夹创建的C子函数并有详解
该子函数实现创建一个子文件夹的功能。调用该函数的时候参数为要创建的文件夹的路径和名字,比如要创建的目标文件夹为:E:\\test\\则调用该函数的时候可以这样写:char* outDir="E:\\test\\"; recursive_mkdir(outDir); 函原创 2013-04-01 16:35:09 · 842 阅读 · 0 评论 -
如何定义头文件以防重定义的错误
编译的时候出现错误:error C2011: “vc_attributes::Success”: “struct”类型重定义typedef struct _OrtpMemoryFunctions{ void *(*malloc_fun)(size_t sz); void *(*realloc_fun)(void *ptr, size_t sz); void (*free_fu原创 2013-04-01 11:25:13 · 1079 阅读 · 0 评论 -
acess函数的用法
int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。 这个函数还可以检查其它文件属性: 06 检查读写权限 04 检查读权限 02 检查写权限 01 检查执行权限 00 检查文件的存在性而转载 2013-04-01 15:18:00 · 929 阅读 · 0 评论 -
采样函数
本例程用到两个库函数cvPyrDown、cvPyrUp。PyrDown图像的下采样 void cvPyrDown( const CvArr* src, CvArr* dst, int filter=CV_GAUSSIAN_5x5 );src 输入图像. dst 输出图像, 宽度和高度应是输入图像的一半 ,传入前必须已经完成初始化 filter 卷积滤波器的类原创 2013-04-02 11:04:32 · 2700 阅读 · 0 评论 -
"无法找到“XXX.exe”的调试信息,或者调试信息不匹配。。。
今天调试一C++程序,按下F5,老是弹出一对话框显示信息:debugging information for 'myproject.exe' cannot be found or does not match. No symbols loaded. 翻译成中文大概就是:不能找到'myproject.exe' 的调试信息或者调试信息不匹配。符号文件未加载。起初,我以为是没有生成.pdb文件的缘故转载 2013-04-09 09:36:21 · 776 阅读 · 0 评论 -
Run_time CHeck Failure---THe variable ‘src-Img’ is being used without being initialized
今天在vs2008+opencv调试的时候出现这种错误。出现这种错误的意识是程序中有变量未进行初始化,比如原始代码的定义:IplImage* outImage;正确的应该初始化为IplImage* outImage= cvCreateImage(cvSize(srcImage->width,srcImage->width),IPL_DEPTH_8U,1); 方案转载 2013-04-14 10:19:42 · 681 阅读 · 0 评论 -
C语言中变量
1、‘全局变量’的定义: 在函数内定义的变量是局部变量,而在函数外定义的变量叫做外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用它的有效范围从定义变量的位置开始到本源文件结束。也就是说若程序是由多个源文件构成的,全局变量只在本文件中有效,而在其它源文件是没有作用的。 建立全局变量的作用是增加了函数间数据联系的渠道。2、‘静态全局变量’由static声明原创 2013-04-16 10:58:40 · 624 阅读 · 0 评论 -
数组的初始化
这是很基础的东西,但基础的重要性不言而喻,我敢肯定这个知识点我肯定曾经了解过,但现在,我不敢确定,由此可见纪录的重要性,这世界没有什么捷径,找对方向,然后不停重复.所以从今天开始,我会比较详细的纪录这些比较小的知识点,其实还是有不少有意思的地方的. 写这篇文章的起因在于>第七章新东西太多,看的我目不暇接,所以在网上找了些例子看,其中就有一个例子中出现了这样的语句: ...转载 2013-05-19 10:59:24 · 817 阅读 · 0 评论 -
彩色图像的直方图
彩色图像的直方图分为rgb三个通道,或者是在其它的颜色空间比如HSV等,只要将图像转换到其它颜色空间就好了。第一种方法是基于opencv的void rgbhistogram(){ //直方图参数初始化 int hist_size[] = { 256 }; float Range[]={0,255}; float* HistogramRange[]={ Range };原创 2013-05-22 15:53:20 · 1539 阅读 · 0 评论 -
为什么添加using namespace std
那是命名空间,你所用到的很多函数或者类都是被放到命名空间里面的,命名空间是防止名字重复而使用的,比如STL有个类叫string,而你也设计一个类叫string,那么编译器编译的时候就搞不清楚到底是那个string,所以用一个命名空间就比较方便了。具体是这么回事的,比如有两个班级,A班和B班,两个班各有一个叫张三的人,而两个班的同学相互之间都是非常熟悉的。那么他们聊天的时候说张三,那其他人肯定会问,转载 2013-10-14 16:26:16 · 816 阅读 · 0 评论 -
指向运算符与成员运算符的区别
成员运算符.与指向运算符->的区别1、当使用成员运算符的时候,定义普通的变量,同样在C++中就是定义类的普通对象,然后就可以用成员运算符访问变量或者对象的数据成员和成员函数。 struct Student { int a; }stu1;//stu1是一个变量 使用时候可以直接进行访问 stu1.a;使用的原创 2014-01-04 15:26:46 · 4644 阅读 · 0 评论 -
#define 与 typedef详解
1、#define#define 是宏命令,在编译前,由预处理器做替代,如同文本编辑的替代命令,把程序中的所有遇到的词,全部替代。#define PINT int* 就是把所有的词 PINT 替换成 int * ,替换完毕再编译。2、 typedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。在编程中使用type原创 2014-01-04 15:36:52 · 688 阅读 · 0 评论 -
最小生成树算法(Prime、Kruskal)和最短路径算法(Dijkstra、Floyd)
最小生成树算法(Prime、Kruskal)和最短路径算法(Dijkstra、Floyd)区别:最小生成树:整个拓扑图的所有路径之和最小,但不能保证任意两点之间的路径最小。在通信网络设计的时候能够保证最小成本。构造最小生成树一般使用贪心策略,有prime算法和kruskal算法最短路径:对于拓扑图来说源点和目的点之间经过的边上的权值之和最少的路径。Dij原创 2014-03-28 15:34:27 · 2558 阅读 · 0 评论 -
C++基类与派生类的函数调用情况
在定义了基类的指针与派生类的对象,或者是派生类指针与基类的对象。在函数调用的时候,如果该函数在基类中被定义为虚函数,那么在调用的时候看该指针(包括基类指针和派生类指针)所指向的对象,如果是派生类的对象就调用派生类中重写的函数,如果是基类的对象就调用基类中的函数。如果该函数为非虚函数,那么看该指针的类型,如果是基类的指针就调用基类中的函数,如果是派生类的指针就调用派生类中的函数。原创 2014-04-17 11:26:31 · 3295 阅读 · 1 评论 -
C++的多态特性
多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。C++多态性是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。当子类重新定义了父原创 2014-04-17 10:36:33 · 1016 阅读 · 0 评论 -
C++拷贝构造函数与赋值函数
http://blog.chinaunix.net/uid-25808509-id-354211.html转载 2014-04-29 10:32:38 · 478 阅读 · 0 评论