自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 extern "C" 的用意

前些天,编程序是用到了很久以前写的C程序,想把里面的函数利用起来,连接发现出现了找不到具体函数的错误:以下是假设旧的C程序库C的头文件/*-----------c.h--------------*/#ifndef _C_H_#define _C_H_extern int add(int x, int y);#endifC的源文件/*-----------c.c-----

2013-05-09 16:49:58 584

转载 构造函数为什么不能是虚函数

1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2. 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身

2013-04-15 22:17:08 832

转载 成员函数中调用虚函数

#include using namespace std;class A{public:A(){coutvirtual ~A(){coutvirtual void f(){coutvoid g(){f();}};class B:public A{public:B(){f(); cout~B(){cout};class

2013-04-15 22:16:30 2265

转载 C++基类继承了什么

【原文出处】http://www.prglab.com/cms/pages/c-tutorial/oo-programming/relationships-between-classes.php什么是从基类中继承的? (What is inherited from the base class?)理论上说,子类(drived class)继承了基类(base class)的所有成员

2013-04-09 13:35:30 799

转载 C++中虚析构函数的作用

我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类:class ClxBase{public:    ClxBase() {};    virtual ~ClxBase() {};    virtual void DoSomething() { cout  "Do

2013-04-09 13:07:52 564

转载 继承中的支配规则和赋值兼容规则

C++的支配规则就是这样:★在基类和派生类有重名(但可以访问)的成员时,优先派生类的成员★如果要访问基类成员,必须加上作用域符::★私有(private)成员连派生类也不可以访问,只有本类和友类可以访问,而类成员默认(像你这样不写private)都是私有的★如果派生类要访问基类的成员,应该用protected类型。公有继承时,派生类是基类的子类型,具有子类型关系的对象之间满足如

2013-04-09 11:06:16 1604

转载 继承类中的子对象和基类对象的初始化

考察下面的程序:class point1  {public: point1(); point1(int i); virtual ~point1();private:  int x;   };point1::point1(){   x=1;   cout}point1::point1(int i){  x=i;    c

2013-04-09 10:29:10 1111 1

原创 类的访问标号

判断对一个类中的成员的访问权限,要看这段访问成员的代码所处的位置private:只有处于类成员函数中或友员函数中的访问代码才能访问,注意不仅可以访问该对象中的私有,也可以访问其它该类型对象的私有,如:      class book{public:    book():name("unknown"),price(0.0){};    book(con

2013-04-02 17:33:06 892

转载 一个类的对象作为另一个类的数据成员时如何构造函数

一个类的对象作为另一个类的数据成员。      一个类中的数据成员除了可以是int, char, float等这些基本的数据类型外,还可以是某一个类的一个对象。用子对象创建新类。      在C++中,当把一个类的对象作为新类的数据员时,则新类的定义格式可表示为: class X { 类名1  成员名1;   类名2  成员名2;   ……

2013-04-02 16:38:40 17042 1

转载 C++局部类和嵌套类的区别

局部类  在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。局部类不能被外部所继承。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。  int a;  void fun()  {  static

2013-04-01 00:51:26 744

转载 如何计算结构体的大小

结构体的大小运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。    C语言中的构造数据类型有三种:数组、结构体和共用体。数组是相同类型的元素的集合,只要会计算单个元素的大小,整个数组所占空间等于基础元素大小乘上元素的个数。

2013-03-29 00:25:14 947

转载 C++随机数的生成方法

一、C++中不能使用random()函数==================================================================================本文由青松原创并依GPL-V2及其后续版本发放,转载请注明出处且应包含本行声明。C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-r

2013-03-27 10:27:41 706

转载 如何区分声明和定义

floor 8变量和对象不加extern永远是定义,类中的除外.函数只有函数头是声明,有函数体是定义.类永远只是声明.类成员函数的函数体是定义.class C{static int x;//这里的x是声明static const int a;;//这里的a是声明//非static变量在类定义对象时才分配内存.C();//这里的函数是声明};int C

2013-03-27 09:35:58 810

转载 OpenCV的imshow无法正常显示图片

OpenCV2.2,vs2010,win7 程序读一段视频,然后进行分析处理,在显示视频的时候,却发现imshow无法显示读取的帧。代码如下: C++代码  VideoCapture cap;   cap.open("test.avi");   namedWindow("video",1);   for(;;){    Mat frame;    cap if(

2012-08-28 10:12:06 18954 3

转载 WIN7下建立临时网络 共享wlan给android手机使用

很多版友反映desire HD之类的手机,无法连接到在WIN7下建立临时网络,下面有个简单的方法,各位不妨一试!  设置步骤:1:先看看我们的无线网卡支持否。单击开始,键盘输入cmd,回车,复制下面一句话:netsh wlan show drivers ,回到cmd对话框右击,粘贴到“c:users*** >”后面,回车。之后会出现一堆话,找到“支持的承载网络”后面写的是“是”还是

2012-08-20 22:24:13 2208

转载 虚基类

概述  当在多条继承路径上有一个公共的基类,在这些路径中的某几条汇合处,这个公共的基类就会产生多个实例(或多个副本),若只想保存这个基类的一个实例,可以将这个公共基类说明为虚基类.虚基类.   在继承中产生歧义的原因有可能是继承类继承了基类多次,从而产生了多个拷贝,即不止一次的通过多个路径继承类在内存中创建了基类成员的多份拷贝。虚基类的基本原则是在内存中只有基类成员的一份拷贝。

2012-07-28 09:44:10 1016

转载 虚函数

定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数 [1]  语法:virtual 函数返回类型 函数名(参数表) { 函数体 }  用途:实现多态性,通过指向派生类的基类指针,访问派生类中同名覆盖成员函数  虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式:

2012-07-26 21:54:50 476

转载 C++中explicit关键字的作用

explicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如:class things{ public: things(const std::string &name = ""): m_name(name

2012-07-25 20:16:36 511

转载 静态类型和动态类型 静态绑定和动态绑定

什么意思?你可能会说你不懂这些最新的面向对象术语;或者,过度劳累的你一时想不起静态和动态绑定的区别。那么,让我们来复习一下。先说明:静态类型和动态类型==静态绑定和动态绑定,(两者是一个意思,说法不一样而已)嘿嘿对象的静态类型是指你声明的存在于程序代码文本中的类型。看下面这个类层次结构:enum ShapeColor { RED, GREEN, BLUE };// 一个表示几何形状

2012-07-25 10:53:49 877

原创 类的默认构造函数能否定义为私有

class A{     A();    ……}int main(){     A a;     return 0;}编译将会出错:error C2248: 'A::A' : cannot access private member declared in class 'A'构造函默认为为私有,在类的外部无法访问。如果在主函数里面声明a,系统调用默认构造函数,而

2012-06-13 11:07:35 2257

原创 人工神经元网络

一:人工神经网络的通用框架包括以下几方面的内容:1、功能函数f(从输入WX到输出y的函数):         1)简单线性模型      2)线性阈值单元      3)sigmoid函数2、连接方式(各个神经元的组织方式)      1)前馈网络      2)反馈网络3、学习规则(网络训练)      1)Hebb(无导师学习):如果Ui从Uj接收输入,且两

2012-06-12 11:10:33 1470

原创 群体智能——粒子群算法(PSO)

粒子群的算法思想就是现在一个空间的随机的撒若干个点,每个点都会保存两种信息:一个保存该结点所到过的最佳位置(个体极值点);另一个保存其它结点(包括该结点)中所到过的最好位置(全局极值点)。运动过程中每个粒子以这两个极值点为依据,不断更新自己的位置使自身不断趋于最优解。可以通过下面这个公式来理解:c1、C2表示更新步长;Pid表示该粒子的个体极值点;Pgd表示全局极值点;rand和Rand表

2012-05-28 19:57:38 2412

原创 群体智能——蚁群算法(ACO)

算法思想:蚁群在觅食的过程中往往会选择一个最短的路径,之所以能选出最优路径是因为蚂蚁在觅食的过程中会分泌信息素用于告诉同伴觅食路径,信息素越浓的地方号召的蚂蚁数越多;在分泌等量信息素的前提下,越短的路径上信息素浓度越高,这样这条路径上的蚂蚁会越来越多,反过来又增加了该路径上的信息素浓度。算法在TSP问题中的应用:数据结构        D,存储各个城市之间距离的矩阵T,存储城市之间

2012-05-10 22:46:12 3219

原创 模拟退火算法

模拟退火算法的设计初衷是为了解决在求解最优解过程的陷入局部最优解的问题,算法如下:算法思想:给出一个初始解i0,在这个解的邻域内搜索Lk次,每次搜索可能取到更好的解,当然也可能取到更差的解,对于更好的解,无条件接受;而对于较差的解,在一定程度内以某个概率接受,这个概论由t值控制。t值是递减的,对于每个t值都搜索Lk次,直到满足终止条件。参数(冷却进度表):t:用来衡量算法对于一个较差解

2012-05-07 00:40:50 829

原创 搜索——博弈搜索

算法的思想:  以下象棋为例,MAX和MIN两人对弈,在某时刻MAX开始走步,可以通过构建一个N层的宽度优先搜索书表示MAX预测了N步的所有棋盘状态。在第N层MAX通过评估函数可以对自己目前的形式进行估计,然后递推回当前的状态可以得到一个对自己最有利棋盘状态,如图,在每一层递推双方都会从子节点选择最有利于自己的那一步:算法实现:1、构建一个N层广度优先搜索树2、自底向上求倒退值

2012-04-25 23:12:38 1352

原创 搜索——爬山搜索

算法步骤(如下图):1、初始化节点N;2、如果节点N大于其领域内所有节点,算法结束,返回N即为所求值3、否则用N领域中最大的节点替代N,返回2该算法虽然简单但是一个致命的缺点就是容易陷入一个局部最优解而非全局最优解与爬山搜索的一个类似的算法就是梯度搜索算法:1. 选取初值x0∈R2. xn= xn-1+ β(df(xn-1) / dx)3. 当|df(xn) /

2012-04-25 22:44:28 1078

原创 数组与指针

1、数组包括定义初始化和数组的操作,在声明数组的维数时必须用大于等于1的常量表达式定义,包括整形字面值常量、枚举常量以及整形的const对象。数组的初始化可以用显示初始化的方法,如:int ia[]={1,2,3};编译器会自动确定数组的长度。数组的访问操作是通过下标操作符[ ]实现的。 2、指针的作用相当于vector容器中的迭代器,这部分主要包括指针的定义初始化和相关操作以及一些注意事项。

2012-04-24 16:28:09 472

原创 EM算法

问题描述:EM算法用来描述含有隐藏变量的估计问题;在作出某些假设时,训练数据中的一些变量可能从未出现。举个简单的例子:    假设h:明天去campfire    训练数据集合D={d1,d2,....dn},di包含的变量有storm,lightning,thunder,forestfire,这四个观测数据可能只有一个子集能在训练集中观测到。这时候的任务就是根据这些残缺的训练数据区做一个

2012-04-24 01:19:39 1149

转载 什么是凸优化问题convex optimization

什么是凸集?凸集:http://en.wikipedia.org/wiki/Convex_set什么是凸函数?凸函数:http://en.wikipedia.org/wiki/Convex_function什么是凸优化:同时满足如下两个条件的优化问题称为凸优化:1)目标函数(objective fucntion)是凸函数;2)可行集合(feasible set)必须是凸

2012-04-18 20:49:32 9475

原创 搜索——最佳优先搜索

最佳优先搜索时宽度优先搜索的扩展,基本思想是将节点表按据目标的距离进行排序,再以节点的估计距离为标准选择待扩展的节点。        算法步骤:         1. 用N表示已经排序的初始结点表(从小到大)         2. 如果N为空集,则退出并给出失败信号         3. n取为N的首结点,并在N中删除结点n,放入已访问结点列表         4. 如果n为目

2012-03-06 20:18:16 14754 1

原创 搜索——深度优先搜索

数据结构:栈,用来保存由根节点到目标节点的路径            代码描述:             void DFS(Node node){ nodes.push_back(node);//入栈 if(node=目标节点) then//找到目标,结束 for (itr=node.sons.begin();itr!=node.son

2012-03-06 18:22:54 930

原创 搜索——广度优先搜索

数据结构:队列          算法描述:1、取树的根节点并入队,                              2、若队列不为空,则队首元素出队,标记为visied,将其所有子节点入队                              3、重复2                              4、若队列为空,则访问结束           可

2012-03-06 15:13:41 688

原创 ListView的基本使用方法

ListView是比较常用的控件,但一直都觉得创建ListView步骤有点繁琐,故在此总结一下,方便查阅。程序效果是实现一个ListView,ListView里面有标题,内容和图片,并加入点击和长按响应。首先在xml里面定义一个ListView

2011-08-28 20:35:43 956

空空如也

空空如也

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

TA关注的人

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