- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 VS2013 C++ 关闭安全检查
vs2013中:(报错信息)错误 8 error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for deta
2015-03-11 10:02:24
12376
转载 fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directory
From: http://blog.csdn.net/pkueecser/article/details/7287938fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directoryhttp://blog.waterlin.org/articles/qedit-problem-in-windows-direc
2015-03-02 16:10:01
1004
原创 【OP001】opencv强大的视频图形图像处理
OpenCV是什么? OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通
2015-02-15 10:58:33
1125
原创 【SF001】 二分查找
二分査找也称折半査找,其优点是查找速度快,缺点是要求所要査找的数据必须是有序序列。该算法的基本思想是将所要査找的序列的中间位置的数据与所要査找的元素进行比较,如果相等,则表示査找成功,否则将以该位置为基准将所要査找的序列分为左右两部分。接下来根据所要査找序列的升降序规律及中间元素与所查找元素的大小关系,来选择所要査找元素可能存在的那部分序列,对其采用同样的方法进行査找,直至能够确定所要查找的元素是
2015-02-06 15:33:04
588
原创 C语言32个关键字
关键字就是已被C语言本身使用,不能作其它用途使用的字。例如关键字不能用作变量名、函数名等 由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char extern return union
2015-01-29 16:48:05
367
原创 【013】命名空间和模块化编程2
使用头文件 在创建了头文件之后,只要把它的文件名用双引号括起来写在如下所示的指令里就可以导入它:#include “fishc.h” 如果没有给出路径名,编译器将到当前子目录以及当前开发环境中的其他逻辑子目录里去寻找头文件。为了消除这种猜测,在导入自己的头文件时可以使用相对路径。如果头文件与主程序文件在同一个子目录里,则可以这么写:#incl
2015-01-28 15:56:13
445
原创 【012】命名空间和模块化编程
命名空间和模块化编程接下来我们将重点讨论两个相互关联的简单概念: 第一个概念是模块化(modularization)把程序划分成多个组成部分(即所谓的“模块”)这是通过把程序代码分散到多个文件里,等编译程序时再把那些文件重新组合在一起实现的。 第二个概念是命名空间(namespace)这个概念相比起C语言是C++里新增加的东西,编写的
2015-01-28 15:31:47
434
原创 【011】如何避免内存泄露
如果程序很长时间(例如在服务器上),并且在不停地申请新内存块,忘记释放那些已经不再有用的老内存块,将迟早把内存消耗殆尽,直接导致后边的NEW操作无法执行,甚至是崩溃。栈空间往下生长,堆空间往上生长。这样的编程漏洞成为内存泄露(memory leak).new语句所返回的地址是访问这个内存块的唯一线索,同时也是delete用来把这个内存块归还给内存池的
2015-01-28 15:06:56
429
原创 【010】高级强制类型转换
要点总结 我们用传统的强制类型转换实现:把所需要的指针类型放在一对圆括号之间,然后写出将被强制转换的地址值。Company *company = new Company(“APPLE”, “Iphone”);TechCompany *tecCompany = company; 注意不能既删除company,又删除tecCompany。因为强制
2015-01-28 15:01:17
404
原创 【009】副本构造器
地球人都知道,我们可以把一个对象赋值给一个类型与之相同的变量。编译器将生成必要的代码把”源”对象各属性的值分别赋值给”目标”对象的对应成员。这种赋值行为称之为逐位复制(bitwise coyp)。这种行为在绝大多数场合都没有问题,但如果某些成员变量是指针的话,问题就来了:对象成员进行逐位复制的结果是你将拥有两个一摸一样的实例,而这两个副本里的同名指针会指向相同的地址。。。
2015-01-28 14:40:46
520
原创 【008】动态数组
int a[20];int *x = a;指针变量x指向数组a的地址,a[0]和*x都取代数组的第一个元素。a[1]等价于*(x+1)a[2]等价于*(x+2)把一个数组声明传递给new语句,使它返回一个该数组基类型的指针。eg.int *x = new int[10]; x[1]=45;
2015-01-28 12:28:00
372
原创 【007】动态内存管理
静态内存:变量(包括指针变量)、固定长度的数组、某给定的对象。可以在代码中通过它们的名字或者地址来访问和使用它们。动态内存:由一些没有名字、只有地址的内存块构成,那些内存块是在程序运行期间动态分配的。如果没有足够的内存空间:那么new语句则抛出std::bad_alloc异常。在用完内存块后要用delete把它归还给内
2015-01-28 10:34:38
411
原创 C++异常机制
一、 概述C++自身有着非常强的纠错能力,发展到如今,已经建立了比较完善的异常处理机制。C++的异常情况无非两种,一种是语法错误,即程序中出现了错误的语句,函数,结构和类,致使编译程序无法进行。另一种是运行时发生的错误,一般与算法有关。关于语法错误,不必多说,写代码时心细一点就可以解决。C++编译器的报错机制可以让我们轻松地解决这些错误。第二种是运行时的错误,常见的有文件打
2015-01-28 10:10:42
383
原创 【006】运算符重载
所谓重载,就是重新赋予新的含义。函数重载是对一个已有的函数赋予新的含义,使之实现新功能。 其实运算符也可以重载。 运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统自动调用该函数,以实现相应的运算。 也就是说,运算符重载是通过定义函数实现的。运算符重载实质是函数的重载。 重载运算符的函数一般格式如下: 函数类型 opera
2015-01-27 17:30:20
409
原创 c++成员函数的重载、覆盖、隐藏区别
成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的
2015-01-27 17:10:45
387
转载 C++多态的实现原理
1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。3. 多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。4. 多态用虚函数来实现,结合动态绑定。5. 纯虚函数是虚函数再加上= 0。6. 抽象类是指包
2015-01-27 17:06:05
586
原创 【005】抽象方法,即“纯虚函数”
抽象方法(abstract method,也可以称为纯虚函数)是面向对象编程技术的另一个核心概念,在设计一个多层次的类的继承关系时常会用到。 把某个方法声明为一个抽象方法等于告诉编译器这个方法必不可少,但我现在(在这个基类里)还不能为它提供一个实现!!! 抽象方法的语法很简单:在声明一个虚方法的基础上,在原型末末尾加上" = 0"。 这是告诉编译器不用浪费时间在这个类
2015-01-27 17:05:01
408
原创 【004】虚方法
使用指向对象的指针:先认识下new和delete:int *point = new int;//定义一个指向整型的指针,用new创建一个整型的指针*pointer =110;std::coutdelete pointer;最后一步非常关键和重要,这是因为C和C++不会自动释放内存,程序中的每一个new操作都必须有一个与之对应的delete操作!所以程序在
2015-01-27 16:51:18
398
原创 C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。
2015-01-27 16:19:42
355
原创 【003】继承 构造器 析构器
在c++继承体系中,创建一个对象后:1、对于构造器:先进 父类 后 子类。2、对于析构器:先进 子类 后 父类。代码演示:#include #include class BaseClass{ public : BaseClass(); ~BaseClass(); void dosomething();};class SubClass : publi
2015-01-27 14:48:52
338
原创 return type specification for constructor invalid
编译C++程序时,遇到如此错误: return type specification for constructor invalid。结果会出现:return type specification for constructor invalid 在网上搜的大部分说是:构造函数不应该有返回值,我检查了一下我的代码没有返回值啊,这时候我发现了一个重大的低级错误:在类声明完毕应该加分号。
2015-01-27 14:46:18
2865
原创 【002】初识C++ <二 > 保留关键字(Typedef)、构造器和析构器
1.保留关键字 取别名(Typedef) 2.对象的创建属性+方法!33.1定义构造器 3.2 注意
2015-01-27 11:35:23
483
原创 【001】初识C++ (一)
1.初始C++输入输出一:#include #include using namespace std;int main(){ fstream fp ("text.txt",ios::in | ios::out) ; //用可读可写的方式打开 if( !fp ){ cerr<<"打开文件失败,"<<endl; return 0; } fp<<"Iloveyou!!
2015-01-26 14:15:56
408
翻译 Oracle-Sql 语句中 Case When 的应用
Oracle-Sql 语句中 Case When 的应用// 如果column_4 = 'IT_PROG' 那么 输出 1.10 * column_3// 如果column_4 = 'ST_CLERK' 那么 输出 1.15 * column_4// 否则 输出 column_3 使用别名"REVISED_SALARY"SELECTcolumn_1,
2015-01-06 21:00:01
394
原创 Buffalo Ajax框架使用
buffalo-2.0(国人开发的Ajax框架),下载buffalo-2.0-bin就可以了,个人认为也下载buffalo-2.0-src下载地址:http://sourceforge.net/project/showfiles.php?group_id=1788671.buffalo-2.0.jar在buffalo-2.0-bin里,把它加到Web应用程序里的lib2.b
2015-01-06 20:36:17
567
原创 Oracle中start with...connect by子句的用法
SELECT distinct m.area_name FROM DIM_HX_CNTRT_MGMT_UNIT A left join DIM_HX_CNTRT_MGMT_UNIT_REL n on n.cntrt_mgmt_unit_cd = A.Cntrt_Mgmt_Unit_Cd and n.type_state = 1 left join MS_AREA
2015-01-06 16:43:59
543
原创 ORACLE in与exists语句的区别
一、实例:insert into HIS_BATCH_EXCEL_DATA select 3402 as batch_id, t.excel_name, t.op_time, t.staff_id, 2 state, t.imp_type, t.acc_nbr,
2014-12-30 18:59:49
573
转载 如何切换eclipse中svn用户
我用的是tortoiseSvn,由于这几天换了svn服务器,也重新分配了svn帐号,可是用tortoiseSvn登录svn的时候总是默认用之前的svn帐号登录, 最后发现把C盘 C:\Documents and Settings\Administrator\Application Data\Subversion\auth目录下svn.simple的目录删除重新登录时就发现需要
2014-12-27 14:40:29
504
原创 oracle sysdate 时间整理
一、获取oracle日期中的年份在Oracle中,要获得日期中的年份,例如把sysdate中的年份取出来,并不是一件难事。常用的方法是: Select to_number(to_char(sysdate,'yyyy')) from dual, 而实际上,oracle本身有更好的方法,那就是使用Extract函数,使用方法
2014-11-27 19:40:38
1628
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人