自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 BOOST::Signals2 / “观察者模式” 趣味分析——Eric要参加刘德华的演唱会却不知道时间,怎么办?

Boost::signals2探析, “观察者”模式探析/*Andy is going to hold a concert while the time is not decided.Eric is a fans of Andy who doesn't want to miss this concert.Andy doesn't know Eric.How can Eric gets the news when Andy's concert is going to take?*/

2010-09-28 19:31:00 2219

转载 李喆:程序员到底怎么了

作者:李喆     微博:http://weibo.com/markforgeek我们是这样的一群人:每天都在“努力”的工作着,每天都和计算机打交道,泡在网上,打游戏,查资料,发微博。可是有一天,突然意识到,我们的未来在哪里,每个月那点可怜的工资,一年加起来也买不了几平米,找个女朋友也那么难,即使找到了,她还总是跟你说,为什么别人挣的都比你多,你每天不停的写着代码,每天不停的掉头发

2012-06-09 11:24:50 2441

原创 Common Language Runtime 公用语言运行时

CLR是微软 .NET 框架下的“虚拟机组件”,负责管理 .NET 程序的运行。在JIT (Just In Time)编译方式中,CLR将"通用中间语言"CIL(Common Intermediate Language)编译成计算机CPU可以直接运行的 “机器指令”。CLR 还提供其他的功能比如:内存管理,类型安全,异常处理,垃圾回收机制,线程管理。所有在 .NET 框架下,不管用任何语言写出的程

2012-04-12 09:43:24 1564

原创 expression template 表达式模板

Expression Template---表达式模板What is expression template?Expression templates is a C++ template metaprogramming technique in which templates are used to represent part of an expression. Ty

2012-03-26 13:15:08 1975

转载 boost::filesystem指南

今天开始写作boost库指南系列文章了,我个人比较熟的就是这个filesystem库,当然要从这里先开始。这系列指南只是对初学的一个快速指南,没有深入学习,当然我个人水平也不敢说“深入”二字。C++程序一直有一个方面不能做可移植性,尽管标准库有几个函数用于操作与文件系统相关的任务,但是这几个函数作用相对我们日常对文件系统操作的需求来说真是杯水车薪,所以对目录、路径、文件元信息的操作一直难以

2012-03-06 09:32:15 31125 1

转载 Generic Programming Techniques

Generic Programming TechniquesThis is an incomplete survey of some of the generic programming techniques used in the boost libraries.Table of Contents    * Introduction    * The Anatomy of a C

2011-01-06 11:27:00 764

转载 How to convert std::string to LPCWSTR in C++ (Unicode)

std::wstring s2ws(const std::string& s){    int len;    int slength =(int)s.length()+1;    len =MultiByteToWideChar(CP_ACP,0, s.c_str(), slength,0,0);    wchar_t* buf =newwchar_t[len];    MultiByteToWideChar(CP_ACP,0, s.c_str(), slength, buf, len

2011-01-06 11:13:00 922

转载 改良程序的11技巧

改良程序的11技巧 <br />2011年01月5日 | 发布在 技术技巧 | 3 条评论 »<br />有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。<br />让我们看一些基本的编程技巧:<br /> 尽量保持方法简短永远永远不要把同一个变量用于多个不同的目的

2011-01-06 11:07:00 486

原创 template functor

<br />template< class FirstValue, class SecondValue, class ResultValue >struct add: public std::binary_function< FirstValue, SecondValue, ResultValue >{ ResultValue operator()(FirstValue n1, SecondValue n2) const { return ResultValue(n1+n2); }

2011-01-06 11:03:00 606

转载 给激活了WS_HSCROLL,WS_VSCROLL的RichEdit增加自动换行的控制

<br /> <br />第二份代码<br /> <br />    在第二份代码中,正如您所想,很幸运地,我们达到本文主题的要求。:)它运行的很好。而在我的《GlobalStrings》中,我是用一个CheckBox(我自己编写的控件,风格是采用Vista)控件来控制这个功能的。如下代码:void SetCarryLine( HWND hwndRich, BOOL fbEnable ){ if ( fbEnable ) { HDC hdc = GetDC( hwn

2010-10-19 15:51:00 1516

原创 BOOST::Signals2 学习小游戏—— 星座加油站

利用win32控制台程序和boost::signals2库,也能写出有意思的演示小游戏。

2010-09-29 14:14:00 1708

原创 键盘消息的处理

<br />工程名:TEST_ONKEYDOWN<br />1:在TEST_ONKEYDOWN.hpp中添加消息处理函数的声明:<br /> <br />// Generated message map functionsprotected:afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);DECLARE_MESSAGE_MAP() <br />2: 在TEST_ONKEYDOWN.cpp中添加消息映射声明:<br />B

2010-09-11 10:31:00 718

原创 C++ Coding Standards

<br />1:Correctness, simplicity, and clarity come first<br /> 2:Make interfaces easy to use correctly and hard to use incorrectly3:pOne entity one cohesive responsibility 4:Const-correctness5:Avoid macros6:Make header files self-sufficient7:Minimize defini

2010-08-30 17:49:00 636

原创 Boost Bind 类成员函数指针

// Test_BOOST_BIND_FUNCTION.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include #include #include class button{public: boost::function onClick;};class player{

2010-08-21 15:38:00 4370 1

转载 MFC应用程序创建窗口的过程

<br />http://www.bccn.net/Article/kfyy/vc/jszl/200709/6376.html<br /> <br />MFC应用程序中处理消息的顺序<br /><br />1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc<br />2.AfxCallWndProc()  该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数<br />3.

2010-08-12 10:54:00 2858

转载 谈谈父窗口和所有者窗口

<br />http://www.91tech.net/Article/SoftTech/vctech/200811/5396.html<br /> <br />一、概念和区别<br />    在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。<br />    所以我们可以看到,窗口之间的关系有两种:own

2010-08-11 20:31:00 493

转载 MFC窗口位置管理详细分析及实例

<br />http://hi.bccn.net/space-21499-do-blog-id-15271.html<br /> <br />MFC窗口位置管理详细分析及实例<br />        在一般用MFC编写的程序的窗口客户区中,可能有好几个子窗口(具有WM_CHILD风格的窗口)。上边是工具栏,中间是视图窗口,下边是状态栏。三个窗口在框架的客户区里和平共处,互不重叠。主框架窗口的尺寸改变了,别的子窗口都能及时调整自己的尺寸以便保持相互位置关系不变,例如状态条窗口总能保持在主框架客户区底部,并且

2010-08-11 20:30:00 715

转载 智能指针auto_ptr

<br />转载:http://blog.sina.com.cn/s/blog_508938e10100f12x.htmlauto_ptr 类可以用于管理由 new 分配的单个对象,但是无法管理动态分配的数组(我们通常不会使用数组,而是使用 vector 代替数组)。auto_ptr 在拷贝和赋值的时候有不寻常的行为,因此 auto_ptrs 不能被保存在 stl 的容器中。当 auto_ptr 离开了自己的作用域或者被销毁,由 auto_ptr 管理的对象也会被销毁。使用std::auto_ptr需要的头

2010-08-11 20:27:00 677

转载 VC++中有关句柄和指针及其转换

<br />http://blog.csdn.net/lovegod12/archive/2009/04/19/4092249.aspx<br /> <br /> <br /><br />1.MFC窗口的句柄和指针的转换<br />      (1) 一般窗口对象都会有一个其对应的句柄变量,所以我们可以取此对象的m_hWnd属性来得到句柄。<br />      (2)使用GetSafeHwnd函数取得程序所在窗口类的句柄<br />      (3)使用FromHandle函数来通过句柄得到其想要的指针<

2010-08-11 20:24:00 760

转载 Boost智能指针——shared_ptr

Boost智能指针——shared_ptrboost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法:#include #include #include class implementation{public:    ~implementation() { std::cout     void do_som

2010-08-11 20:10:00 817

原创 C++回调函数尝试

#include "stdafx.h"#include //int FunA(int& refInt)//call back function//{// std::cout

2010-07-26 23:49:00 516

AE 栅格数据入库 vb.net

ArcGIS Engine .net写的栅格数据入库

2009-02-26

空空如也

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

TA关注的人

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