- 博客(38)
- 资源 (11)
- 收藏
- 关注
原创 C++基础 类函数
C++类函数C类函数第1章 引言第2章 函数调用1 类对象创建2 类普通函数调用3 虚函数调用4 内存分析第3章 函数详解1 构造函数2 内存分析3 虚函数4 析构函数第4章 小结第1章 引言类函数的介绍基于《C++之路基础函数》,对C++的函数再进一步延伸。這里一个函数有一个归属的问题(静态函数除外)。 此文将介绍类函数最主要的两点:普通函数与虚函数
2016-12-21 20:56:08 949
原创 C++基础 函数
C++函数第1章 引言1 栈区2 堆区3 全局区4 常量区5 代码区第3章 函数1 函数的基本流程2 函数的临时变量3 函数的传入参数4 函数的返回第4章 函数的栈空间第5章 小结第1章 引言函数作为执行语句的集合,在程序语言中发挥着重要作用。 本文将介绍函数的基本处理流程、传入参数、临时变量和返回机制来解释C++的函数基础。在程序运行过程中,
2016-12-21 20:53:10 677
原创 git详解
Git详解零、引入之前在局域网搭建了Git环境,觉得Git的工作方式非常有效,在这里也做一个总结。希望这篇文件也能帮助到开始学习Git的朋友,此文只介绍Git的相关知识,对于git的使用经验留在以后介绍。 一、使用方法常用命令行这里暂时不考虑分支的命令,将在下一节中具体介绍。下面的命令按照一般的操作流程的顺序一一介绍。 命令用法
2015-01-16 17:55:15 1687
原创 字符编码
字符编码零、引言关于字符编码的概念会在具体些程序的时候,高频的出现。非常有必要了解其意义以及其具体的原理。本文会介绍ASCII、Unicode以及它的编码方式UTF-8和代码页。一、ASCII我们就从最简单的ASCII入手,因为这个是在编程初期就碰到的编码方式。对于ASCII的背景历史就不在这里赘述。有兴趣的读者可以google或者百度,上面都有详细的介绍。 ASCII是单
2014-10-19 21:57:09 4853
原创 深入理解C++面向对象机制(三)构造与析构
深入理解C++面向对象机制(三)构造与析构零.声明1.《深入理解C++面向对象机制》系列的博文是博主阅读《深度探索C++对象模型》之后的自我总结性质的文章。当然也希望这些文章能够帮助那些想深入了解C++的网友。2.文章中会有一些被称为“编译器生成的代码”,这些代码并不是编译器真正的生成代码,只是为了方便讨论而写的模拟代码。3.如果觉得文章对你有帮助而需要转载,也请阁
2014-08-16 15:03:58 1772
原创 深入理解C++面向对象机制(二)虚继承
深入理解C++面向对象机制(二)虚继承零.声明1.《深入理解C++面向对象机制》系列的博文是博主阅读《深度探索C++对象模型》之后的自我总结性质的文章。当然也希望这些文章能够帮助那些想深入了解C++的网友。 2.文章中会有一些被称为“编译器生成的代码”,这些代码并不是编译器真正的生成代码,只是为了方便讨论而写的模拟代码。 3.如果觉得文章对你有帮助而需要转载,也请阁下能够注
2014-08-16 15:00:45 1589
原创 深入理解C++面向对象机制(一)多继承
深入理解C++面向对象机制(一)多继承零.声明1.《深入理解C++面向对象机制》系列的博文是博主阅读《深度探索C++对象模型》之后的自我总结性质的文章。当然也希望这些文章能够帮助那些想深入了解C++的网友。2.文章中会有一些被称为“编译器生成的代码”,这些代码并不是编译器真正的生成代码,只是为了方便讨论而写的模拟代码。3.如果觉得文章对你有帮助而需要转载,也请阁下能够注明出处。
2014-08-16 14:51:52 3081
原创 深入理解C++面向对象机制(零)单继承
深入理解C++面向对象机制(一)单继承零.声明1.《深入理解C++面向对象机制》系列的博文是博主阅读《深度探索C++对象模型》之后的自我总结性质的文章。当然也希望这些文章能够帮助那些想深入了解C++的网友。 2.文章中会有一些被称为“编译器生成的代码”,这些代码并不是编译器真正的生成代码,只是为了方便讨论而写的模拟代码。 3.如果觉得文章对你有帮助而需要转载,也请阁下能够注
2014-08-16 14:39:52 1343
原创 C++中的Cast
C++中的Cast引言在一次看More Effective C++中,有一节提到了《Prefer C++-Style Casts》。其中列举许多C++ Cast的一些好处,当然这些都是相对于C语言中的强制转换这类而言的。所以首先来了解C++中的Cast。一、Dynamic_Cast我们从适用范围来了解这个操作。 (1)首先dynamic_cast能够应用于指针转换。
2013-10-10 23:01:58 4188
原创 C++中的虚函数
C++中的虚函数引言C++中的虚函数,是实现C++多态的一个重要手段。这里会介绍一下虚函数和RTTI。一、虚函数表和虚函数表的指针要了解C++是如何实现虚函数这功能,首先我们就要了解一个重要概念:虚函数表(Virtual Tables,之后简称vtbls)。虚函数表是类额外的一个静态数组。其中存放该类的虚函数信息等。在编译的时候,编译器同时也会为基类创建一个成员变量:用于存
2013-09-28 10:32:07 1277
原创 C++ 异常使用总结(持续更新)
C++ 异常使用总结一、注意在构造函数中的异常如构造函数中抛出异常的,C++的异常机制是不会去调用它的析构函数的。这个问题会造成一些内存泄露的问题。看一下这个例子:class CSpace{public: CSpace() { m_pSpace = newint[100]; // throw 1; }
2013-07-30 20:30:08 1488
原创 C++ 从float到int
C++ 从float到int引言一次在写代码的时候,天真的将一个double强行转换到int,以为能够得到double中的整数部分,结果却得到0。那个时候挺费解,就去查了一下double的存储方式,才发现浮点型的存储方式和int的是大相径庭。整理一下资料,简单介绍一下浮点这种存储方式,希望能够帮助到一些朋友。 一、浮点的存储方式在C++中一个float是32位,一个doub
2013-07-27 14:52:30 8279 4
原创 C++ 异常机制
C++ 异常机制一、函数的栈结构在C++中的函数调用中,是用栈来存放其中数据对象。 ……Fun1’s Local Objects Fun1’s ParametersRet AddressFun1’s EXCEPTION_REGISTRATIONESP
2013-07-21 11:01:13 1456
原创 Word05---表格
Word05---表格引言表格在word中算是比较负责的一个对象,所以这一篇只介绍如何创建简单的表格,并如何填写表格。一、引入类按照《Office 自动化---准备》中介绍的方法,引入一个新类Tables、Table、Borders、Cell。Tables中有一个Add函数就是用来添加新表格的。public: Table Add( LPDISPATCHRa
2013-05-08 20:58:43 1195
原创 Word04---字体
Word04---字体引言这一篇介绍一下word中的字体设置。一、引入类按照《Office 自动化---准备》中介绍的方法,引入一个新类Font。这个类比较简单,只是里面设置的属性较多,都是关于字体的。下面直接看例子。这个类的对象通过selection获得。 二、简单的例子 CFontWd10font = sel.get_Font();
2013-05-06 23:00:52 1028
原创 Word03---超链接
Word03---超链接引言这一篇介绍一下如何在word中添加超链接。一、引入类按照《Office 自动化---准备》中介绍的方法,引入一个新类Hyperlinks。该类有一个Add函数就是用来添加超链接的。public: Hyperlink Add( LPDISPATCH Anchor, VARIANT * Address, VARIANT * Su
2013-05-05 10:18:50 1192
原创 Word02---目录
Word02---目录引言联系上一篇的内容《word01---标题》,这一篇我们就介绍如何在word中建立目录。一、引入类按照《Office 自动化---准备》中介绍的方法,引入两个新的类TablesOfContents和Range。其中TablesOfContents用来生成word的目录。该类有一个Add函数,这里我们利用这个函数来生成word的目录。这里就介绍一下
2013-05-04 00:43:05 1110
原创 Word01---标题
Word01---标题引言这一篇介绍在word中如何写标题。一、引入类按照《Office 自动化---准备》中介绍的方法,引入一个新的类_ ParagraphFormat,来实现word的标题。这个类有一个函数put_Style,可以设置标题。m_pfp->put_Style((COleVariant)(short)-2);//一级标题m_pfp->put_Style
2013-05-02 23:06:18 1223
原创 Office 自动化---准备
Office 自动化---准备引言笔者在使用C++编写Word和Excel导出报告的时候,由于网上相应的资料很少,所以走了许多弯路。在自己探索尝试了之后,积累一些开发的经验,写成这个系列的博文。这里我们大部分都是Ole形式的开发,之后会介绍一些第三方库,比如libxl。一、在VS中引入Office库这个我还是用截图来说明,相信这样更加直观一点。1.2
2013-05-02 22:56:10 1442
原创 Machine Learning---Hebbian Learning
MachineLearning---Hebbian Learning引言前面介绍了许多“监督式”学习方式,比如PNN、Backpropagation、LMS等。这些算法有一个共同点:提供的数据中,有目标值。相当于一本带有答案的练习本。接下来将介绍“非监督式”学习方式。 首先就介绍Hebbian Learnig。一、HebbianLearning 算法基本介绍1.算
2013-04-12 16:11:02 2922
原创 Thinking in MFC---Unicode字符转换
Thinkingin MFC---Unicode字符转换引言在MFC编程中,使用Unicode环境时,在给CString str = “xinxipan”;这样的语句编译总是无法通过,需要修改成这样CStringstr = L“xinxipan”;这是因为CString是宽字节的,而”xinxipan”是一个非unicode字符串。所以这两者之间需要转换。一、基础介绍
2013-04-08 23:57:27 1582
原创 MFC应用---利用CxImage显示图片
MFC应用---利用CxImage显示图片1.简单介绍 用过MFC都应该知道,如果只用MFC自带的图片显示功能,只能显示BMP、PNG和Icon文件。要显示JPG之类的图片变得很复杂。这里介绍一个库CxImage,利用这个库在MFC中显示各种类型的图片。下面便是效果图。2.具体实现1.下载CxImage库 此处下载 2.将CxImage库引入项目,
2013-04-05 22:26:45 9537 3
原创 Machine Learning---PNN
MachineLearning---PNN引言这篇将介绍machine learning中另一个较为经典的一个算法。之前介绍的几个算法(Backpropagation、LMS……)这些算法有一个明显的特点就是,它们都需要先训练算法,都会通过训练数据集调整算法的内部参数。这次介绍的算法就摆脱了这种过程。一、PNN算法基本介绍1.算法思想PNN(Probabilisti
2013-04-04 16:23:32 1810
原创 Thinking in MFC---消息机制2(消息映射)
Thinking in MFC---消息机制2引言在这一篇,我们会介绍一下在窗口类中,如何将消息路由到消息处理函数中去。一、AFX_MSGMAP_ENTRY在开始之前,我们有必要了解这个结构体。struct AFX_MSGMAP_ENTRY{ UINTnMessage; //windows message UINTnCode; //c
2013-03-25 20:51:05 1096
原创 Thinking in MFC---消息机制1
Thinking in MFC---消息机制1引言在使用较长时间的MFC之后,感觉自己需要将零散的MFC知识整合一下,所以开始推出这个系列的博文,首先就从MFC经典的消息机制入手,来介绍MFC是怎么运作的。这篇主要介绍一下消息机制中几个基础概念。这篇主要介绍消息如何路由到主窗口。一、WinMain函数写过win32程序,肯定只要我们要展示一个窗口,需要这个入口函数,这个就像控制
2013-03-24 00:55:28 1040
原创 Machine Learning---Backpropagation
Machine Learning---Backpropagation引言反向传播法(backpropagration),是一个非常经典的监督学习方法。在前面已经介绍过LMS算法,所以对于这两种之间的公共部分不会再做详细介绍。一、Backpropagation算法基本介绍1.算法思想反向传播算法是监督式学习最流行的方法。它其中的算法思想就如它的名字一样。它顺序计算了输出值,然
2013-03-20 23:06:40 1582 1
原创 Machine Learning---LMS 算法数学说明
Machine Learning---LMS 算法数学说明引言这篇文章主要是为了《Machine Learning---LMS 算法》中做一些数学上的解释,虽然LMS算法实现比较简单,但是里面所用的数学知识还是有必要讲一下。一、梯度这里得先介绍梯度这个概念,因为算法就是用了所谓的“梯度下降法”。1.方向导数对于方向函数的详细定义就不写了,这里就大概讲一下什么是方向函数。
2013-03-16 02:19:46 4228
原创 MFC应用---超链接RichEdit
MFC应用---超链接RichEdit1.简单介绍CrichEditCtrl,MFC的该控件功能还是比较优秀的。其中一条就是能够自动识别文本内容的超链接,并能够显示单击后实现跳转。大致如同这样的效果 具体可以去 这边下载 例子代码2.具体实现1.控件CRichEditCtrl ,使用该类型的编辑控件;在对话框中设置成员变量:CRichEditCtrlm_
2013-02-20 21:12:53 4183
原创 SQLite应用之路---CppSqlite
SQLite应用之路---CppSqlite CppSqLite对SQLite的API进行了一次封装,让开发人员更加方便的使用SQLite。 1.准备一下(1)CppSQLite3.h 和CppSQLite3.cpp(2)sqlite3.h、sqlite3.lib和sqlite3.dll在使用这个类的时候,你需要确保几件事情:首先你要下载上诉5个文件。其次就是在你的工程
2013-02-18 22:11:46 18416 8
原创 Machine Learning---LMS 算法
Machine Learning---LMS 算法引言简单的感知器学习算法(《Machine Learning---感知器学习算法》)会将真个集合正确分类后,才会停止,显然当测试数据多的时候,这种算法会变得迟钝。所以这里,引入一个理念,最小均方算法(Least Mean Square)。一、LMS算法基本介绍1.历史LMS算法首先由Bernard Widrow和Marcian
2013-02-18 20:31:19 17708 10
原创 SQLite应用之路---删除字段
SQLite应用之路---删除列 SQLite,并不支持列的删除,所以我们只能“曲线救国”。1.思路(1)我们通过临时表来实现,首先我们创建和目标表结构的临时表(除去要删除的字段);(2)把目标表中的数据放入临时表;(3)然后我们将目标表删除(drop),并重新创建(除去要删除的字段,和原来的目标表结构一样);(4)我们把临时表中的数据放回目标表,并删除
2013-02-04 21:33:16 6098
原创 Machine Learning---感知器学习算法
Machine Learning---感知器学习算法引言这里开始介绍神经网络方面的知识(Neural Networks)。首先我们会介绍几个监督式学习的算法,随后便是非监督式的学习。一、感知器学习算法基本介绍1.神经网络就像进化计算,神经网络又是一个类似的概念。神经网络由一个或者多个神经元组成。而一个神经元包括输入、输出和“内部处理器”。神经元从输入端接受信息,通过“内
2013-02-02 16:40:14 59763 11
原创 SQLite应用之路---SQL查询优化
SQLite应用之路---SQL查询优化temp1: 2499条数据temp6: 969596条数据//注意时间单位ms和s//其中temp1和temp2已经给eid加上索引1.in和 exists//外表大于子表的时候,使用in//外表小于字表的时候,使用existsselect * from temp1 where eid in (select eid fr
2013-01-30 14:12:45 1878
原创 Machine Learning---决策树
Machine Learning---决策树引言决策树(Decision Trees),一个非常经典的监督式学习案例。一、决策树基本介绍1.决策树在建立决策树时候,计算机使用已分类的数据,建立一个具有预测功能的树形结构。建立决策树有许多种算法,这里我只介绍ID3算法。2.核心算法在建立决策树的时候,首先要选出哪一个属性作为最重要的属性,成为决策树的根节点。这里将用到
2013-01-28 20:37:38 2681
原创 AI中的几种搜索算法---基因算法
AI中的几种搜索算法---基因算法引言进化计算(Evolutionary Computation)这个涵盖的范围比较广,其中包括基因算法(Genetic Algorithm)、进化式策略(Evolutionary Strategy)、基因程序(Genetic Programming)等等。这篇是进化计算的开篇,我会从基因算法入手,进而介绍进化计算中的一些基本思想。一、基因算法的基本介绍
2013-01-15 22:01:48 23501
原创 AI中的几种搜索算法---Tabu搜索算法
AI中的几种搜索算法---Tabu搜索算法引言Tabu相对于启发式算法家族中其他成员,要简单易懂的多。关于启发式算法的基本概念可以参见笔者的《AI中的几种搜索算法---A*搜索算法》。这里就不多介绍了。一、Tabu搜索算法的基本介绍1.局部最优和全局最优局部最优(Local Optimums)和全局最优(Global Optimums)这对概念在搜索中,经常被提到。所以在这里,
2013-01-06 20:47:03 6645
原创 AI中的几种搜索算法---SA搜索算法
AI中的几种搜索算法---SA搜索算法引言SA (Simulated Annealing)搜索算法,就如它的名字,是模仿了退火的处理过程。在提到TSP问题的时候,经常会使用该算法进行解决。一、SA搜索算法的基本介绍1.SA算法流程该算法的流程如下1. 首先便是初始化工作,设置初始温度(temperature),获得一个随机的解决方案,并将其设置为当前解决方案(cur
2012-12-28 23:18:31 5854
原创 AI中的几种搜索算法---A*搜索算法
AI中的几种搜索算法---A*搜索算法引言A*搜索算法作为一种典型的启发式搜索(Informed Search)算法,这种算法与一般的算法相比,便是其在搜索过程中,会利用一些引导机制,来引导整个搜索。相比于盲目的搜索,其性能是不言而喻的。而运用A*最广泛的地方便是游戏中的路径搜索(Path Finding)。这篇文章主要会基本地介绍A*算法,并会介绍一个游戏路径搜索的例子。这里套着
2012-12-27 22:33:08 4638 1
Hackers Heroes of the Computer Revolution
2013-02-19
A * 路径搜索 演示程序
2012-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人