- 博客(14)
- 资源 (5)
- 收藏
- 关注
原创 二重指针、指针引用的效果分析
编译环境:Visual Studio2010 一、代码分析这是做了一个分别使用二重指针和指针的引用带回函数处理结果的例子,左边图使用二重指针,右边图使用指针引用。可以看出来就这个问题来说,使用指针引用简单。但是对于纯C语言的代码,没有引用的概念,就不可用了。二、调试结果下面的结果是调试到上左图黄色箭头处,各变量的值。明显&rst1和dest的值相等,用通俗的话说是dest保
2013-08-30 22:15:35 955
原创 对于HTTP保持网络连接的解读
一、TCP短连接与长连接的区别(1)短连接:一般只会在client/server间传递一次读写操作。此方式常用于一点对多点通讯。C/S通信。HTTP就是使用了类似的短连接。目的:减少服务器的压力;减少资源的浪费。(2)长连接:Client与server完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。此种方式常用于P2P通信。例如:数据库的连接用长连接,关于
2013-08-29 18:05:44 2511
原创 异步回调过程分析(客户端:cURL获取网页源码)
一、说明(1)为了代码简洁,便于表述,采用C++编译环境(2)本代码需要curl库的支持,可以通过http://curl.haxx.se/下载二、代码实现的功能主程序通过调用cURl库函数获取网页源码,但是对于源码的处理逻辑,交由客户端处理,即函数getWebSource。三、代码示例#include "curl\curl.h"#include#includestd:
2013-08-25 09:54:29 1860
原创 URL的解析,C语言实现
这个可以应用于自己封装数据头的情况,比如基于socket来实现http协议等。URL的格式:(协议)://(主机名):(端口号) / (文件路径)/(文件名) 例如:http://zj.qq.com/a/20130824/002507.htm#p=8编译环境:windows ,visual studio2010以下是代码: #include //printf
2013-08-24 20:17:13 8800
原创 const char*、char*及字符串常量的正确使用
const char*和char*的转换是老生常谈了,但是很少有人把它们和字符串常量一起分析,本人觉得这是搞清楚他们的一个关键。下面是一个简单的测试程序:编译环境:windows、vs2010#includeint main(void){ //(1)char *到const char*的转换 char *str = (char*)malloc(sizeof("hello!
2013-08-23 19:00:44 9248
原创 JSON C库的使用
这里提取了常用的函数做介绍:需要详细了解的想参阅json_object.h,版本信息: * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. * Michael Clark * Copyright (c) 2009 Hewlett-Packard Development Company, L.P.#ifdef __cplusplu
2013-08-22 20:39:32 25961 7
原创 由localtime引发的函数可重入问题
一、先看一个例子(该例子在visual studio2010中测试)#include#include int _tmain(int argc, _TCHAR* argv[]){ time_t now; struct tm *tmStart, *tmEnd; if(time(&now)==-1)//函数time返回月历值(格式 struct tm)。若参数是0,函数返回该值,否则将转
2013-08-21 22:17:05 2953
原创 从一个多线程的例子,来理解Sleep的机制和用法
#include #include DWORD WINAPI Fun1Proc(LPVOID lpParameter);//thread dataDWORD WINAPI Fun2Proc(LPVOID lpParameter);//thread dataint index=0;int tickets=60000;//总票数HANDLE hMutex;void
2013-08-20 14:40:11 3105
原创 关于覆盖、隐藏、重载、重写的区别
是否父子类函数参数是否相同含有virtual 函数同名是是是覆盖(又叫重写、继承)override,目的就是实现多态是是否隐藏是否不相关隐藏(符合正常的理解)同一个
2013-08-20 09:09:58 779
原创 C++观察者模式
//(1)实时性的特点,通知者对应唯一的事件,观察者一旦被通知,观察者就知道是A事件,而不是其他事件。//(2)两个基类实现了典型的一个事件对应多个观察者的场景。//(3)在具体类中实现一个观察者对应多个事件的场景,对于观察者来说如何区分这个通知是哪个事件呢?// (采用通知者的名字)。具体事件对应不同的处理方式。使用if---else结构?(可以)#include #
2013-08-16 15:37:27 684
原创 C++实现singleton(三种方法实现)
关于单例模式的一些心得:(1)站在程序生命期的角度,该类只能有一个对象。很多管理类就采用该方式实现(2)使用了私有构造函数的特性,即该类只能由自己产生自己。(3)该模式有一些简化的实现,没有做过多的探讨。class Singleton{public:static Singleton*GetInstance(){//加互斥锁,保证线程安全if(m_In
2013-08-16 10:32:26 1747
原创 使用char **ptr实现一个动态二维数组
使用char **ptr实现一个动态二维数组,方便使用:class Matrix {protected:int lines,columns; char** ptr; public:Matrix(int li,int col): lines(li),columns(col){int i,j;ptr=new char*[lines];
2013-08-15 17:34:14 1394
转载 LINK : fatal error LNK1104: 无法打开文件“LIBCD.lib”
本文转载自:特此声明http://www.cnblogs.com/hyfemma/archive/2010/11/14/1876846.htmlLINK : fatal error LNK1104: 无法打开文件“LIBCD.lib” 出现这类问题一般是由于所运行的项目是VC6(或者vs2003)创建的,而后又用VS2005或者更高版本工具打开项目
2013-08-08 16:27:04 652
转载 一些曾经参考过的博客地址
1.SVN搭建:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html 2.C++ Disign patternhttp://blog.csdn.net/dylgsy/article/details/1063810
2013-08-07 17:28:18 523
MFC深入浅出电子版
2012-09-21
工业检测界面
2012-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人