- 博客(34)
- 资源 (24)
- 收藏
- 关注
原创 接口封装之暴露内部过多
在软件开发中经常需要对自己写的类进行封装,接口给外部留下,而对实现细节进行隐藏。通常是留下一个头文件,给一个lib文件和dll文件(windows下)。但是这个头文件中也可能暴露过多的信息,能不能只留下公共接口,其余有关基类的信息一点都不暴露呢?在大牛的指点下,get到了这个有用的方法,记录在此,以防忘记。
2016-09-17 21:44:56 1880 1
原创 神奇的设计模式之工厂方法模式
神奇的设计模式之工厂方法模式最近在工作中,有这样一种情况:对数据进行加密,使用了不同的加密算法,但是加密算法种类固定,不同的初始条件,使用不同的加密算法。对这刚开始还不熟悉,后来才知道设计模式中有对应的处理方法,于是记录下来,供自己和大家参考。 此处,应该根据不同初始条件实例化不同的加密算法,于是可以想到简单工厂模式。
2016-08-28 21:19:00 813
原创 文章标题
windows和linux换行符的转换最近又在折腾linux,我在windows写好代码,然后再linux下打开,结果出现了^M(一个字符,快捷键Ctrl+v+m)这样字符,很好奇,就百度了下,将结果记录下来。windows下:换行符 \r\nlinux下: 换行符 \n因此linux下的文本文档在windows下换行符会丢失,多行合并为一行。反过来,windows下的文本文档在
2016-08-13 23:51:54 412
原创 前置++i和后置的i++效率探究
前置++i和后置的i++效率探究网上看到,说前置++比后置++效率高,个人觉得都是对变量加1,效率应该没有区别,于是在vs2010中探索一番,特在此记录,如有不妥,欢迎拍砖。
2016-03-15 21:27:57 960
原创 vim中注释多行和删除多行注释
linux用vim编辑器比较多,那么如何连续注释和删除多行注释呢?这次用时记录下来,以供自己参考。一)连续多行注释1)用vim打开一个文件,如下所示:2)按组合键Ctrl+v,进入可视模式,选择需要连续注释的行,如下:3)按组合键Shift+i,输入注释符号//,按ESC,完成注释多行{多行注释时,只显示对第一行的操作,按ESC键后,多行都已经修改了}二
2016-03-09 15:53:59 2332
原创 平衡二叉树研究(AVL树)
最近在研究数据结构,使用教材是程杰的《大话数据结构》,这本树写的非常好,看到了平衡二叉树,对该章研究了下,敲了下代码,并通过加断点调试,学习了不少,记录下来,供大家参考。
2015-08-20 21:42:11 693
原创 iterator、const_iterator和const iterator的区别
最近研究iterator,看了下const_iterator和const iterator的使用,记录下来,以供以后参考。
2015-07-27 23:32:57 950
原创 string.reserve 与 string.resize的区别
string中有两个函数:reserve()和resize(),最近细细的看了下这两个函数的使用,记录下来。
2015-07-25 18:29:06 12767
原创 CRT detected that the application wrote to memory after end of heap buffer
最近闲的无聊,把C++ STL中的string容器类自己尝试实现一遍,但是在写到insert()函数时,出现一个错误,就是CRT deceted that the application wrote to memory after end of heap buffer,最后上网看了些博客,自己调了下代码,解决了该问题。
2015-07-23 15:40:50 932
原创 堆排序
(1)堆的概念:对n个关键字序列k1,k2,k3,...,kn,当且仅当满足下述关系是成为堆: ki=号。k(i)相当于二叉树的非叶子结点,K(2i)则是左子节点,k(2i+1)是右子节点。 若将此序列所存储的向量k[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键
2015-04-04 14:43:09 829
原创 RANSAC算法MATLAB实验
RANSAC是“RANdom SAmple Consensus(随机抽样一致)”的缩写。它可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。它是一种不确定的算法——它有一定的概率得出一个合理的结果;为了提高概率必须提高迭代次数。该算法最早由Fischler和Bolles于1981年提出。 RANSAC的基本假设是:(1)数据由“局内点”组成,例如:数据的分布可以
2015-03-31 13:39:08 9307 3
原创 Linux计算程序耗时
写了一个linux下统计程序耗时的代码,发现linux下和windows下还有些不同,写篇博客记录下。(1) time.h和sys/time.h的区别time.h是ISO C99标准日期头文件,而sys/time.h是linux系统日期时间头文件。(2) linux下的sleep()参数是秒为单位,而windows下是以毫秒为单位。(3) linux下的clock
2014-11-25 21:36:00 1641
原创 ubantu linux入门命令
Linux基本命令学习Writen by fanfan,2014-10-23,high-tech zone of xi’an公司最近用linux,所以配置了ubantu,先学了linux下的基本命令,以方便入门。1、 打开终端 alt+ctrl+t2、 普通用户->超级用户 sudo –i/-s超级用户->普通用户 su 用户名3、安装软件 sudo apt-get ins
2014-10-24 00:03:53 1293
原创 opencv中通过不同方式访问图像像素
通过不同方式访问图像像素最近在学习vs2010并结合opencv2.4.3进行图像处理,首先研究了在opencv中如何去访问像素,查阅资料,浏览博客,总结了一下,一般有三种方法:Mat类的.at()函数,指针,迭代器,代码如下:// sy1.cpp : 定义控制台应用程序的入口点。/////////////////////////////通过不同的方式去访问图像像素//////////
2013-11-14 21:47:37 1136
原创 OpenCV中一个窗口显示两幅图像
最近在学习OpenCV,觉得OpenCV很好用,一般情况下,只用一个窗口显示一幅图像,假如想要一个窗口显示两幅图像或者多幅图像呢,怎么办?最近做了一个实验.//思想:最简单的方法就是将两幅图合并为一幅图 然后再显示//具体操作:可以先开辟一个大的图像空间(大小是所有小图的和),然后根据你要显示的图像大小和位置分别设置ROI,把小图copy进去。//最后释放ROI把大图显示出来程序代
2013-04-05 19:52:36 3080
原创 基于tcp的sockets的编程--客户机
#include #include #include #pragma comment (lib,"WS2_32") //显示连接套接字库int main(){ WSADATA data; WORD w=MAKEWORD(2,0); //定义版本号 char sztext[10]={0}; ::WSAStartup(w,&dat
2012-05-19 21:09:16 565
原创 基于tcp的sockets编程--服务器
#include #include #include #pragma comment (lib,"WS2_32") //显示连接套接字库int main(){ WSADATA data; WORD w=MAKEWORD(2,0); //定义版本好的 char sztext[]="欢迎你\r\n"; ::WSAStartup
2012-05-19 21:06:29 609
原创 一个简单的directshow的例子
//DirectShow应用程序的三个步骤//1:建立图像滤镜管理器的实例//2:用图像滤镜管理器建立一个图像滤镜//3:给其运行消息,让数据流在各个滤镜中移动//!!!!!!!!!!!!!!!!! 添加相应的库后 此程序没问题 //工程->设置->链接,添加strmbasd.lib ole32.lib#include #include void main(
2012-05-09 18:40:40 649
转载 DirectX组件之---DirectShow介绍
1. DirectShow介绍 DirectShow是一个windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,同时支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。DirectShow整合了其它的DirectX技术,能自动地侦测并使用可利用的音视频硬件加速,也能支持没有硬件加速的系
2012-05-04 17:33:22 964
转载 DirectX组件之---开始DirectShow旅程
2. 开始DirectShow旅程 这个章节的内容主要是编写DirectShow应用所需的一些基本概念,可以把它当作一个高级介绍,理解这些内容只需具备一般的编程和有关多媒体的知识。2.1. 设置DirectShow开发的编译环境 这节内容描述了如何来编译DirectShow应用。你可以使用命令行形式来编译一个工程,也可以在Microsoft Visual Studio集成环
2012-05-04 17:21:07 543
ransac算法实验
2015-03-31
mfc写的ftp上传程序
2014-07-23
基于vc实现的通讯录管理系统
2012-03-19
vc6.0做的扫雷游戏(含源码)
2011-09-22
vc++编写的常用的图像处理程序
2011-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人