自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 hbitmap保存为图片

static BOOL SaveBitmapToFile(HBITMAP hBitmap, std::string szfilename){HDC hDC;//当前分辨率下每象素所占字节数int iBits;//位图中每象素所占字节数WORD wBitCount;//定义调色板大小, 位图中像素字节大小 ,位图文件大小 , 写...

2020-05-08 11:16:38 792

原创 emacs新手配置基本c/c++编程环境

emacs新手配置基本c/c++编程环境系统环境及版本ubuntu 16 及 emacs 24.5emacs安装文件结构简单说明安装emacs时采用的是apt-get install的方式,文件都是保存在默认的目录结构下有必要做简单的文件结构说明,是晚上很多教程都只给了文件的配置,新手甚至不知道将那些配置代码保存在什么位置使用sudo find / | grep emacs 可以查找所有文

2016-11-19 22:44:29 7037

原创 不到500行代码学完shell基本语法知识

适合初学者的shell基础语法知识,入门级别shell编程首选

2016-11-13 21:49:14 1157

原创 回调函数基本理解

c++ 回调函数机制理解

2016-11-05 20:43:26 1479

转载 string 内存陷阱

http://www.cnblogs.com/lanxuezaipiao/p/3704578.html#include #include #include using namespace std; struct flowRecord { string app_name;

2016-08-16 17:59:59 1780

原创 wke基本使用方法

wke 基本使用,也是刚开始使用,如果记得后面继续更新。关于wke基本介绍,请参考http://blog.csdn.net/cutesource/article/details/8731841关于上面博文中的结构图暂时不太理解。1  需要接窗口事件。2 接窗口事件后,一般会有如下方法{1 SetFile() 加载本地网页2 SetUrl(), 加载url页面,(与上

2015-12-25 22:46:20 22014

原创 对com接口的访问

com组件基本知识

2015-12-15 00:40:11 1047

转载 c++ 11 10个基本新特新

本文完整转自:http://my.oschina.net/xlplbo/blog/343242auto    在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型。各种作用域内声明变量都可以用到它。例如,名空间中,程序块中,或是for循环的初始化语句中。

2015-12-06 23:32:27 640

转载 cmake入门

什么是 CMakeAll problems in computer science can be solved by another level of indirection.David Wheeler你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp

2015-11-19 10:22:33 413

原创 windows检测任务栏是否使用小图标

window 任务栏位置和大小图标属性

2015-10-15 16:53:13 982

原创 window键盘消息

window键盘消息分类,wm消息

2015-09-07 20:28:26 571

原创 window获取系统默认浏览器并打开相应的网址

方法:通过读取注册表找到对应的浏览器,然后调用系统方法打开对应的网址

2015-09-07 20:20:53 3390

原创 字符串基本处理函数

随手写了两个字符串基本处理函数,记录下,方便以后不用写采用的c++ string的库函数一个是去掉前后某个字符的函数,第二个是将字符串按照某个字符分成数组std::string Trim(std::string str, char ch){ string::size_type bPos = str.find_first_not_of(ch); string::size_type eP

2015-09-06 09:47:19 585

原创 二维数组的最长递减子序列

[原]二维数组中的最长递减子序列2013-8-18阅读160 评论0给定一个如下的二维数组a[][]1   3   5   7   42   1   8   6   54   0  -1  -2   6求其中的最长递减子序列:7, 5, 3, 1, 0, -1, -2,长度为7。子序列只能朝向上下左右四个方向,不能朝对角线方向。思路:

2013-10-12 00:26:20 1806

转载 链表相交问题

这个是目前发现的比较齐全的链表相交问题的解答,和代码,有些地方做简单的补充和修改。代码没有任何改动,重要的是问题的解决方法1、如何判断一个单链表有环2、如何判断一个环的入口点在哪里3、如何知道环的长度4、如何知道两个单链表(无环)是否相交5、如果两个单链表(无环)相交,如何知道它们相交的第一个节点是什么?6、如何知道两个单链表(有环)是否相交

2013-10-06 15:07:15 607

原创 最长回文子串

最长回文子串也是笔试和面试环节经常出现的一个题目,基本的思想很简单,就是从头开始,以每个点为中点位置,然后向两边搜索最长的相等的串,有一个需要注意的地方就是串的长度为偶数或者奇数时的不同情况,比如abba和aba这样的不同的子串,需要同时考虑到这两种情况,做了一个简单的实现,简单测试过,code如下:#include #include #include using namespace

2013-10-06 09:13:30 633

原创 查找之杨氏矩阵

这个也是笔试或者面试过程中经常遇到的一个问题,利用二分查找的思想,巧妙的查找目标元素,网上资料也比较多,自己只是做一个收藏,贴一个code/*杨氏矩阵查找*/#include using namespace std;//二维数组的使用是一个问题void fun(int array[][100],int n,int m,int key, int &i,int

2013-10-05 19:32:49 691

转载 负载均衡算法

负载均衡,这几天也是经常看到,关于负载均衡的算法,搜集了以下的资料 关于负载均衡算法的介绍:http://blog.chinaunix.net/uid-20437338-id-1946450.html,原文3.1 轮转法:    轮转算法是所有调度算法中最简单也最容易实现的一种方法。在一个任务队列里,队列的每个成员(节点)都具有相同的地位,轮转法简单的在这组成员中顺序轮转选择。在负载平

2013-09-28 22:28:46 591

原创 数据库的事务和锁

虽然研发对数据库的要求不怎么高,但是不得不说数据库的这些知识在笔试过程中经常出现,第一个 数据库的事务,事务的定义:事务是一系列操作的集合,这些操作要么全做,要么全不做。在关系数据库管理系统中,事务是数据库应用程序的基本逻辑处理单元,它可以是一条SQL语句,一组SQL语句或整个程序。在数据库管理系统中,事务的开始与结束可以由用户显示控制。如果用户没有显示地定义事务,则由DBMS按缺省规定自动划

2013-09-28 21:01:22 1102

转载 STL之hash_map详解

0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻

2013-09-20 17:36:50 2369

原创 哈夫曼树求权值

哈夫曼树的权值求法,根据需要我们要构造哈夫曼树,然后根据树求节点,这个肯定是很麻烦的,可以根据哈夫曼树的构造过程可以看出来每次都是取最小的两个树节点然后合并成一棵树,而权值有两种算法,第一个可以取所有的叶子节点,用叶子节点与路径的乘积的和,第二种就是可以取所有的非叶子节点的总和。使用优先队列的就是使用的第二种办法,选一个标记是否为叶子节点,不是叶子节点的权值相加即可,有几个需要注意的地方:第一个就

2013-09-11 20:35:54 12054

原创 拓扑排序

拓扑排序属于有向无环图的应用,在实际工作中,长长把用一个有向图来表示工程的施工流程图,或者产品生产的流程图。一个工程一般可以分为若干个子工程,通常把子工程称为“活动”。有些应用关心工程是否能够顺利完成,即是否存在一个从工程开始到工程完成的活动序列,该序列满足所有活动之间的制约关系(一些活动的开始必须以另一个活动的结束为条件);而有些关系的是,工程的完成时间的估算,哪些活动是影响工程进度的关键。对于

2013-09-10 22:20:12 1389

原创 用opencv读取视频保存视频

不得不说opencv是个强大的东东,以前做一个项目的一个模块时使用到进行图形处理,这次是想将一个视频的播放放慢,以前在网上看到opencv有这个功能,今天就不小心尝试了下,东西不多,主要是做个小记录还有一点要注意的小问题说一下,代码不多,基本上也都是copy的网上的#include #include #include #include #include using namespac

2013-09-07 11:02:41 1106

原创 String类基本实现

在类中如果有一个成员函数为指针就别特要注意复制控制和内存管理的问题了,借用String类模拟这些情况,里面需要注意的问题很多,在写下面这个程序时,很多细节的地方我是花了很长时间慢慢看的。写出来方便以后每次查看时能够注意这些小问题,有几个基本的原则:1 在使用指针前,一定要确定该指针能够使用,即指针的指向或者指针后面的内存分配(初始化)     2 每次分配了内存就一定要释放掉内存   

2013-08-28 20:59:01 655

原创 python类使用基本方法

其实要写的不多,记下一段代码 ,然后发现自己因为在照着书上面写的时候出现了错误!等到回过头再来看时才发现是自己的代码没有写完整因为还在初学阶段,希望每天能够记下来一点,也当作给自己一点鼓励!__metaclass__ = type #如果没有这一行,后面的SongBird就会不会被当成类,肯定报错class Bird: def __init__(self):

2013-08-28 17:53:34 730

原创 python简单模拟数据库程序

做个小程序,简单的模拟数据库,代码比较长,觉得可以学习的地方很多,记下来#database.pyimport sys,shelvedef store_person(db): """ Query user for data and store it in the shelf object """ pid = raw_input(

2013-08-28 11:31:55 1615

转载 python入门

本文适合有经验的程序员尽快进入Python世界.特别地,如果你掌握Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的Python程序.    假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.       思路:用shell编程.(Lin

2013-08-24 11:26:53 531

原创 c++学习之优先队列(priority_queue)

优先队列的思想是比较简单的,就是在队列的基础上按照某一特定元素进出队列,计算机中作业的优先调度,就是按照作业的权值优先,先出队列。在STL容器中,优先队列的实现是使用的heap,也就是堆,用一个二叉堆维护一个优先队列,具体的堆的使用方法不做介绍,主要是了解priority_queue的基本使用方法及一点需要注意的地方。基本使用方法和其他的容器一样,需要将模版具象化,也就是指明类型,然后通过接口调用

2013-08-17 11:58:39 1463

原创 数据结构查找算法之二叉查找树

关于二叉查找树,介绍肯定是很多的,这里我列举的下面的代码和思想,是按照二叉查找树,但是没有使用二叉树的数据结构,而是按照数组索引建立逻辑上的二叉树结构,并使用二叉树的递归方式查找给定的值,并在注释中对不同的情况提出一点自己的看法,创建树的过程参考堆排序的思想,并且在结构上大致相同,所以需要注意的地方也基本上相同,前面介绍了推排序需要注意的地方,这里有几个地方需要说明的是,里面有一段二分查找的函数代

2013-08-13 11:08:20 656

原创 数据结构排序之堆排序

现在写推排序一个是因为上次整理掉了,二是因为觉得推排序中有几个需要注意的地方网上的资料都没有比较好的介绍,所以自己 整理了下,基本原理就是维护一棵二叉树,也就是二叉堆,先附上代码,然后做解释:#include using namespace std;#define left(i) (i) << 1#define right(i) ((i) << 1)+1#define pare

2013-08-12 16:18:19 822

原创 c++学习之函数对象

c++的函数对象,以前接触得比较少,今天重新看了下,感觉这真的是个很使用的技术,相当的好用。先介绍下什么是函数对象,简单的说就是函数操作符“()”的重载,通过重载函数操作符在类中实现函数的功能,并通过生成类的对象,调用操作符,实现效果就和执行函数一样。有时候函数对象使用起来比函数更加的灵活,而且函数对象能很好的兼容c++的标准库算法,下面一段代码做一个简单的演示:#include #in

2013-08-09 09:41:26 578

原创 c++学习之容器——erase()函数

先介绍erase()函数的用法,erase()函数用于在顺序型容器中删除容器的一个元素,有两种函数原型,c.erase(p),c.erase(b,e);第一个删除迭代器p所指向的元素,第二个删除迭代器b,e所标记的范围内的元素,c为容器对象,返回值都是一个迭代器,该迭代器指向被删除元素后面的元素(这个是重点),具体的详细用法请参考其他资料。这里就有一个问题,比如《c++ primer》习题9.

2013-07-27 19:34:41 41969 10

原创 template学习之零值初始化及字符串常量作(function template argument)函数模版参数问题

本篇只是摘抄自《c++ template》小问题比较少注意,而且也容易忘记1 零值初始化对于基本的数据类型int,double,pointer type来说,一般没有default构造式对其初始化,比如下面的代码void foo(){ int x; //x的值不定 int *ptr; //ptr的指向也不定}如果在template中使用这样的代码,如下temp

2013-07-26 20:59:28 1117

原创 template学习之typename关键字

关键字 typenametemplate class MyClass{typename T::SubType * ptr;};在这里第二个typename关键字的意思是:SubType是class T内部定义的一个型别从而ptr是一个指向T::SubType型别的指针;如果上例没有使用关键字typename,SubType会被认为是class T

2013-07-13 16:09:56 768

原创 template学习之利用标准函数库写栈

#include #include #include #include /* 利用已经完成的Vertor标准库生成自定义的栈结构 而且还用到模版,笔试过程中绝对是一个亮点*/template class Stack{private: std::vector elem;public: void push(T const &); void pop(); T top(

2013-07-11 18:14:03 682

原创 c语言变态语法二

下面介绍了其他一下c语言其他一点用的比较少的东西,和一些比较容易错误的地方,还是一样的办法,将问题以注释的形式写在了代码之中,主要是在学习时,边看边亲自动手试了一下,而整理成条款的话比较枯燥乏味,所以直接以代码加注释的形式贴出,如下:            #include //用于捕捉异步事件#include //double square();/*1 宏定义需要注意空格#

2013-05-30 16:20:48 659

原创 c语言变态语法一

比较杂乱的记录的一些c语言的变态语法,或者说一些比较少见的,又或者说是一些比较容易忽略的语法,形式整理的不怎么好。 我将这些需要注意的问题通过代码注释的形式写在了代码之中,粘贴下来便可以调试运行查看结果。#include #include #include void memcpy_w(char *dest,char *source,int k){ while(-

2013-05-29 15:13:39 726

原创 算法之查找第k小的数和查找最小的k个元素

利用快速排序的思想查找第k小的数,其中用到了随机数,但是主要的核心思想还是快速排序,具体的细节可以查看《算法导论》第九章,下面只是照书上实现的代码:            /*查找数据组中,第k小的数*/#include #include const int MAX = 1000;void exchange(int &a,int &b){ int temp=a; a=b;

2013-05-22 14:01:46 4187

原创 socket编程——获取本机适配器信息

遇上一点点的小麻烦,在包含 Iphlpapi.lib和include "Iphlpapi.h"可能会提示找不到头文件,要先在电脑里面找到windows的SDK,然后添加到include目录下,vc 6.0的一般在工具—>选项 -> 目录里面添加即可。添加好之后如果出现其他的一些情况,可能就是SDK与IDE版本的问题,一般来说微软的IDE是向下兼容的,所以换个高级的IDE,如vc 6不行就换vc 8

2013-05-21 18:10:07 768

原创 windows多线程 1

关于多线程我总觉得是个比较难的东西,难在几点,比如线程的同步互斥等,还有实际编写代码时遇到的线程的调试问题,这些都是造成多线程比较难的原因,不过没有办法,还是需要面对,学习顺便做个记录和分析:        首先是源代码,如下(不同的问题需要自己修改源代码),程序最初的目的是加快x的运算速度,所以最初是采用的两个线程的形式,后来经过改进和分析即产生如下的源码原型。只作为分析用。#def

2013-05-20 18:13:03 507

最全的windows文件拖拽

最全的windows文件拖拽,包括拖拽时吸附不同的图标,不同的反馈,使用不同的方法

2015-12-04

网络编程代码

网络编程必须掌握的基本的两种发送消息机制,tcp和upd方法,还有简单的多线程客户端的编程

2013-05-14

数据结构链表

学习数据结构首先需要掌握的链表的各种操作,这里有几种不同的链表,基本上包含了各种需要,而且有比较详细的注释容易看1懂

2013-05-03

Qt类关系图

面向对象的编程,良好的c++编程平台,跨平台编程!

2013-03-20

Mtverify.h头文件

在编写多线程程序时,调试是一个比较困难的事情,如果加入了此代码(采用宏定义),能够比较方便的显示出出错误的位置,加快开发的速度!

2013-01-04

STL 源码 程序猿修炼3部曲

学习c++必学STL的使用,而要想深进一步理解数据结构和算法学习STL源码是很好的一种方法,也能明白代码之间的关系的组织

2012-12-11

ADO 数据库连接方式

学习数据库时需要连接数据库,该ADO是一种很好的连接方式,编写风格良好的ADO 类更是需要的

2012-10-11

MFC windows

学习MFC需要一定的书籍,该电子书籍也是学习MFC不可或缺的移动资料

2012-10-09

OpengL开发宝典

OpengL学习必备,是计算机图形学的入门基础,该书是学习图形学必备的资料之一!

2012-09-21

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

TA关注的人

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