摘要: boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用: #include <string>#include <iostream>#include <boost/scoped_ptr.hpp>class implementation{public:~implementation() { std::cout <<"destroying implementation\n"; }void do_something() { s 阅读全文
posted @ 2011-11-09 15:53 吴豆豆 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 复制控制一、复制控制类能控制复制,赋值,撤销该类的对象时的动作,分别通过下面的成员函数:1.复制构造函数:具有单个形参,该形参是对该类类型的引用(通常用const修饰);2.赋值操作符3.析构函数:不管有没显示定义,编译器都自动执行类中非static数据成员的析构函数这三个函数就成为复制控制。二.为什么要研究复制控制如果没有显示地定义复制构造函数和赋值操作符,编译器会为我们定义。但是编译器合成的复制控制函数只做必需的工作,某些类如果依赖于默认的定义会导致错误,例如类具有指针成员。难点:识别何时需要覆盖默认版本,定义自己的复制构造函数所以有时候要自定义复制构造函数,定义复制构造函数跟构造函数是一 阅读全文
posted @ 2011-11-09 11:24 吴豆豆 阅读(1959) 评论(0) 推荐(1) 编辑
摘要: 一.场景:两个类:Folder类:表示一个目录,有一些指针成员指向该目录下的文件File类:表示一个文件,(1)有一个string成员存储文件内容(2)有Folder类型的成员指针集指向存有该文件的目录(3)有一个save()和remove()方法分别用于保存和移动。功能:(1)在创建的时候传入文本初始化文件的文本(2)在保存的时候传入目录指定文件所在的目录(可保存在多个目录)(3)要求能复制、赋值、删除文件类如图:(简化)二.数据结构1.Folder类:只要有一些指向File类的指针即可2.File类:set<Folder*>:指针集来存储所在的目录stringcontent:存 阅读全文
posted @ 2011-11-09 11:24 吴豆豆 阅读(614) 评论(0) 推荐(1) 编辑
摘要: c++ 之类的前置声明<至intel转载>c++ 之类的前置声明刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样:一编译,就出现了一个互包含的问题了,这时就有人跳出来说,这个问题的解决办法可以这样,在a.h文件中声明类B,然后使用B的指针。然后,问题就解决了。但是,有人知道问题是为什么就被解决的吗,也就是说,加了个前置声明为什么就解决了这样的问题。下面,让我来探讨一下这个前置声明。类的前置声明是有许多的好处的。我们使用前置声明的一个好处是,从上面看到,当我们在类A使用类B的 阅读全文
posted @ 2011-11-09 11:20 吴豆豆 阅读(1101) 评论(0) 推荐(0) 编辑
摘要: 这个是windows里面常用来计算程序运行时间的函数;DWORD dwStart = GetTickCount();//这里运行你的程序代码DWORD dwEnd = GetTickCount();则(dwEnd-dwStart)就是你的程序运行时间, 以毫秒为单位这个函数只精确到55ms,1个tick就是55ms。#include <iostream>#include <windows.h>using namespace std;int main(int argc, char* argv[]){DWORD start, end;start = GetTickCount 阅读全文
posted @ 2011-10-11 08:49 吴豆豆 阅读(186) 评论(0) 推荐(0) 编辑
摘要: CListCtrl使用技巧以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”2. 设置listctrl 风格及扩展风格 LONG lStyle; lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style 阅读全文
posted @ 2011-09-29 12:53 吴豆豆 阅读(767) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/Clingingboy/archive/2011/04/16/2018284.html2011-04-16 15:21 by Clingingboy, 365 visits,收藏,编辑一.首先要为SHBrowseForFolder准备一个结构体BROWSEINFOtypedef struct _browseinfoW { HWND hwndOwner; PCIDLIST_ABSOLUTE pidlRoot; LPWSTR pszDisplayName; // Return display n... 阅读全文
posted @ 2011-09-13 10:45 吴豆豆 阅读(254) 评论(0) 推荐(0) 编辑
摘要: WinInet求助编辑百科名片WinInet(“Windows Internet”)API帮助程序员使用三个常见的Internet协议,这三个协议是用于World Wide Web万维网的超文本传输协议(HTTP:Hypertext Transfer Protocol)、文件传输协议(FTP:File Transfer Protocol)和另一个称为Gopher的文件传输协议。WinInet函数的语法与常用的Win32 API函数的语法类似,这使得使用这些协议就像使用本地硬盘上的文件一样容易。目录WinInetWinInet 层关系Internet 的连接展开编辑本段WinInetIntern 阅读全文
posted @ 2011-08-15 20:50 吴豆豆 阅读(1366) 评论(0) 推荐(0) 编辑
摘要: 在Windows下实现HTTP下载,其实很容易,微软已经帮我们封装好了简便易用的wininet库,利用它提供的API,很容易就能开发出具备HTTP下载功能的程序,不过我在这里并不准备对wininet进行讨论,有兴趣的朋友可以自行查阅MSDN或者相关资料。我在这里要说的,是直接使用socket编程,来实现HTTP的下载。这种看似底层和原始的方法,虽然实现起来比较麻烦(仅仅是麻烦而已,其实很简单),但对我们了解HTTP的工作原理和应对非Windows平台的编程,都有一定的帮助,所以我将这几天自己学习的心得体会,记录于此。本文主要涉及socket编程实现直接HTTP下载和通过代理服务器进行HTTP下 阅读全文
posted @ 2011-08-15 20:17 吴豆豆 阅读(1739) 评论(0) 推荐(0) 编辑
摘要: http://zhidao.baidu.com/question/4917179.htmlFTP下载和HTTP下载有何不同? 互联网上有很多可以下载各种各样好用工具的站点。在这些站点下载文件时,您是否因需要选择“HTTP下载”和“FTP下载”而感到过不知所措呢?两者间究竟有什么区别呢? 使用Web浏览器时,这两个协议之间的差异几乎不会对使用的方便性及下载时间产生影响。不过,两者却拥有各自不同的结构。 HTTP是一种为了将位于全球各个地方的Web服务器中的内容发送给不特定多数用户而制订的协议。也就是说,可以把HTTP看作是旨在向不特定多数的用户“发放”文件的协议。 HTTP使用于从服务器读取We 阅读全文
posted @ 2011-08-15 19:26 吴豆豆 阅读(2003) 评论(0) 推荐(0) 编辑