上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 42 下一页
摘要: 析构函数如果一个类想被别人继承,通常析构函数要声明为虚函数,否则,如下代码就会出现未定义情况。Base* p=new Derived();delete p;这句话反过来说,就是如果你不打算让别人派生你的类,就不要把析构函数声明为虚函数,当然对方是菜鸟的话,你也没办法。极端特殊情况下,只要使用者保证不会多态的析构(像上面的例子),也可以通融。继承与访问权限基类的private成员,只能由基类或者基类的友元访问,也就是说既不能被类外部的调用者(客户)访问,也不能被子类访问。或许是提供一种相对宽松的选择,protected成员允许派生类访问,但是拒绝外部调用者的访问。<<C++Prime 阅读全文
posted @ 2007-01-31 18:15 反正我信了 阅读(662) 评论(0) 推荐(0)
摘要: 虚函数的内存布局一个拥有虚函数的类内部会有一个成员变量vptr,一个四字节大小的指针,指向虚函数表,虚函数表中记录了该类的各个虚函数的入口地址,如果该类重载了继承的虚函数,那么就存放自己的虚函数地址,否则就是父类的虚函数地址。class A{public: virtual void f(){}; virtual ~A(){};};class B:public A{ void f(){int i=0;};};A* pA=new B();pA->f();对于f的调用操作编译器有如下动作:void B::f()函数解释为void f(B* this);pA->f()解释为 (*pA-&g 阅读全文
posted @ 2007-01-16 23:22 反正我信了 阅读(1740) 评论(0) 推荐(0)
摘要: 1)使用wsdl2h命令,从wsdl文件中提取web service的信息到.h文件中wsdl2h c:/gsoaptemp/DataService.wsdl我的电脑是WinXP sp2,-o参数无效,并且wsdl文件也不能通过指定url来获取2)使用soapcpp2命令,编译刚才生成的.h文件中,产生代理类以及其他文件比如:DataServiceSoap.nsmap、soapC.cpp、soapClient.cpp、soapClientLib.cpp、soapDataServiceSoapProxy.h、soapStub.h3)建立vc8工程,注意引入wsock32.lib库文件,其余头文件 阅读全文
posted @ 2007-01-10 16:21 反正我信了 阅读(265) 评论(0) 推荐(0)
摘要: WTL7.5在VC8中的使用简单剖析目录前言... 1WTL7.5安装... 1WTL 对话框... 2WTL窗口... 5SDI窗口... 5MDI窗口... 7进程入口---_tWinMain. 8前言 我看了很多关于MFC/ATL/COM方面的书,我发现国外的技术作者大多喜好挖掘代码内部最晦涩难懂的精华部分,试图解释给读者,当然我非常感激,我也因此受益匪浅。但是常常发现当我在钻研技术底层的时候,容易迷失了方向,搞不清这些东西做什么用。我常常想,写书的人,在每每挖掘内核的时候,总是能在一开始提纲携领的描述一下我们要做什么,可能效果好得多。但是也许那些人实在站在比我高得太多的山巅上,那些在他 阅读全文
posted @ 2007-01-06 18:12 反正我信了 阅读(407) 评论(0) 推荐(0)
摘要: Lucene.Net ResearchThe history of Lucene. 1What is the Lucene. 1Lucene.net basic objects. 2Behind the scenes of indexing. 8Concurrency rules of Lucene. 10The history of LuceneLucene的起源1997年末,Doug Cutting的工作任务不是很明确,Doug Cutting已经会编写搜索软件,这个时候他发现Java是一个不错的新语言,为了给自己找了个理由学习Java编程,他很自然的结合了自己会编写搜索程序的能力,编写. 阅读全文
posted @ 2006-12-04 09:56 反正我信了 阅读(322) 评论(0) 推荐(0)
摘要: 引自:http://blog.csdn.net/lidongfeng/archive/2006/05/24/752588.aspx今天闲来无事,突然想学习boost,看看这个庞大的基础类库里面到底有些啥东西,以下是我的安装使用过程:1、访问www.boost.org,下载源代码boost_1_33_1.exe,这个是个自解压文件,解压缩后放到了E:/boost_1_33_12、首先需要编译bjam工具,因为需要使用它来编译生成boost的库文件,进入命令提示符窗口:cd E:/boost_1_33_1/tools/build/jam_src,修改build.bat文件,将里面关于vc7的路径设 阅读全文
posted @ 2006-11-09 20:33 反正我信了 阅读(260) 评论(0) 推荐(0)
摘要: .Net中,垃圾回收器负责回收你创建的引用类型的对象,但是回收时间并不能准确估计出来,所以这称之为非确定销毁。值类型自动释放,所以不在本文讨论之中。 但是有些稀缺资源,比如文件句柄、数据库连接等,就需要尽快释放。如何做到呢。最简单的方法就是调用GC.Collect ()强迫垃圾回收器工作。但是这种方法会降低性能,除非迫不得已。 那么有没有更好的办法?“析构函数”“析构函数”与c++析构函数的区别 “析构函数”怎么样?比如下面的例子: class Class1 { public Class1() { Console.WriteLine("constructor"); } ~C 阅读全文
posted @ 2006-10-18 14:51 反正我信了 阅读(114) 评论(0) 推荐(0)
摘要: 为了解决动态访问多种数据库的问题,我们需要使用创建型模式。ADO.NET2.0提供了基于Singleton、AbstractFactory和Factory Method模式的工厂类。现在我来研究一下。ADO.NET主要包含连接类和非连接类。这些类又被划分为四大系列:odbc,ole db,oracle,sql server。DbConnection继承了IDbConnection接口,并且有四个子类:SqlConnection、OleDbConnection、OdbcConnection、OracleConnection。DbCommand继承了IDbCommand接口,并且有五个子类,增加了 阅读全文
posted @ 2006-09-26 17:31 反正我信了 阅读(132) 评论(0) 推荐(0)
摘要: 关于正则表达式:正则表达式简介(微软篇)之一正则表达式如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。 请回想一下在硬盘上是如何查找文件的。您肯定会使用 ? 和 * 字符来帮助查找您正寻找的文件。? 字符匹配文件名中的单个字符,而 * 则匹配一个或多个字符。一个如 'data?.dat' 的模式可以找到下述文件: data1.dat data2.dat datax.dat dataN.dat 如果使用 * 字符代替 ? 字符,则将扩大找到的文件数量。'data*.dat' 可以匹配下述所有文件名: data.d 阅读全文
posted @ 2006-09-14 09:44 反正我信了 阅读(464) 评论(0) 推荐(0)
摘要: vcredist_x86.exe通常在C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/BootStrapper/Packages/vcredist_x86目录下面Msdia71.dll Atl80.dllMfc80.dllMfc80chs.dllMfc80cht.dllMfc80deu.dllMfc80enu.dllMfc80esp.dllMfc80fra.dllMfc80ita.dllMfc80jpn.dllMfc80kor.dllMfc80u.dllMfcm80.dllMfcm80u.dllMsvcm80.dllMsvcp80.dll 阅读全文
posted @ 2006-09-05 10:52 反正我信了 阅读(197) 评论(0) 推荐(0)
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 42 下一页