java/jsp | c/c++ | php | mysql | oracle | mssql | vb | vc | c# | asp | html/css/js | system | delphi | perl | photoshop | other |
Singleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。 1. 标准的实现 class Singleton { public:...
6. 小结“让我的C++程序直接阅读网页” 记录了我以前写的,现在正在使用的部分Web工具的编程经历,代替了文档编写整理。同时也对一些需要改进完善的地方作个小结,以利提高。...
5. 一个简单的例子这里用一个简单的示例说明如何利用前面几个工具函数,编写出能够从Web网页中自动抽取信息的程序。 这个示例程序直接使用 google.com 和baidu.com 的 Web搜索...
4. HTTP访问Web简单看就是HTML + HTTP。前面提供的HTML读取函数所需要的原始HTML文本,得通过HTTP协议从各个web site上读取到。用socket可以实现HTPP访问,但是...
3. 读取超链接函数: getHTMLink 功能: 读取超链接中的URI, 即 href 原型: void getHTMLLink( string & uri, con...
C++的iostream标准库介绍 C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。...
编写优质无错C程序秘诀!《经验谈》 这里我将陆续给大家载出我在以前学习和编写c代码时遇到的问题和解决方法、学习的心得,有些是经过查询一些曾经参加微软microsoft的开发小组的老程序员的书籍和资料后...
操作系统:windows2000 sp4 安装软件:mingw, Visual-MinGW 0.53 安装步骤: (1) 下载mingw:你可以直接下载[url=http://prdow...
char *p="abc"作为一个常量,存放在空间的数据区,其内容不可改变(在win tc和tc3.0中可以改变,但在vc++6.0 中不可以。在ANSI C中,是不可以改变的)...
如: #include<stdio.h> main(int argc, char *argv[] ) { int i; for(i = 1;i < argc; i...
先讲一下内存分配的几种方式: (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 (2) 在栈上创建。在执行函数时,函...
在Bjarne Stroustrup写的Learning Standard C++ as a New Language中有这样一个程序: #include<stdio.h> enum{ma...
Item 31: 最小化文件之间的编译依赖 作者:[url=http://aristeia.com/]Scott Meyers[/url] 译者:[url=http://blog.csdn.net/f...
Item 30: 理解 inline 化的介入和排除 inline 函数——多么棒的主意啊!它们看起来像函数,它们产生的效果也像函数,它们在各方面都比宏好得太多太多(参见 [u...
Modern C++ Design & Programming技术大会简介 大会主题 Modern C++ Design & Programming 官方网站 [url=http:...
Using dllimport and dllexport in C++ Classes Microsoft Specific You can declare C++ classes with t...
Item 29: 争取异常安全(exception-safe)的代码 异常安全(Exception safety)意义深远(pregnancy)……但是,请把这个想法保持一...
Item 28: 避免返回对象内部构件的“句柄” 假设你正在一个包含矩形的应用程序上工作。每一个矩形都可以用它的左上角和右下角表示出来。为了将一个 Rectangle 对象保持...
基于TCP协议的服务器/客户端程序 首先我们看一下使用TCP协议进行网络通信的程序基本模型:服务器首先进行初始化操作:调用函数socket创建一个套接字,函数bind将这个套接字与服务器的公认地址...
第五章 实现 在极大程度上,为你的类(包括类模板)和函数(包括函数模板)提供正确的定义是战斗的关键性部分。一旦你得到正确的结果,相应的实现很大程度上就是直截了当的。但是仍然有一些注意事项需要当心。过早...
Terminology 术语 这是一个所有程序员都应该了解的小型的 C++ 词汇表。下面的条目都足够重要,值得我们对它们的含义务必取得完全一致。 声明(declaration)告诉编译器关于某物的名字...
Introduction 导言 学习一种编程语言的基础是一回事;学习如何用那种语言设计和实现高效率的程序完全是另外一回事。对于 C++ ——一种以拥有非同寻常的能力范围和表现力...
Item 25: 考虑支持不抛异常的 swap swap 是一个有趣的函数。最早作为 STL 的一部分被引入,后来它成为异常安全编程(exception-safe programming)的支柱(参见...
前言 我在 1991 年写出了 Effective C++ 的最早版本,1997 年出了第二版,我更新了一些重要的方面的素材,但是,因为我不想使熟悉本书第一版的读者感到困惑,我尽最大可能保持了原有的结...
0. 类型转换中的提示实际上就是内置数据类型的提升,如char转换为int,bool转换为int,float转换为double等。 1. 类型转换中的标准转换有五种类型:(1)...
0. accumlate:iterator对标志的序列中的元素之和,加到一个由init指定的初始值上。重载的版本不再做加法,而是传进来的二元操作符被应用到元素上。 adjacent_dif...
Item 23: 用非成员非友元函数取代成员函数 想象一个象征 web 浏览器的类。在大量的函数中,这样一个类也许会提供清空已下载成分的缓存。清空已访问 URLs 的历史,以及从系统移除所有 cook...
Item 22: 将数据成员声明为 private 好了,先公布一下计划。首先,我们将看看为什么数据成员不应该声明为 public。然后,我们将看到所有反对 public 数据成员的理由同样适用于 p...
1 程序由五个模块组成。 (1) lzw.h 定义了一些基本的数据结构,常量,还有变量的初始化等。 #ifndef __LZW_H__ #define __LZW_H__ //------...
Item 21: 当你必须返回一个对象时不要试图返回一个引用 一旦程序员抓住对象传值的效率隐忧(参见 Item 20),很多人就会成为狂热的圣战分子,誓要根除传值的罪恶,无论它隐藏多深。他们不屈不挠地...
有朋友在我上一篇Blog里留言,说WTL 7.5已经支持VS.NET 2005开发Windows Mobile应用程序了。今天正好有空,所以就从[url=http://sourceforge.net/...
Item 19: 视类设计为类型设计 在 C++ 中,就像其它面向对象编程语言,可以通过定义一个新的类来定义一个新的类型。作为一个 C++ 开发者,你的大量时间就这样花费在增大你的类型系统。这意味着你...
C程序中图片调用技巧 摘要:介绍如何在C程序中调用图片,这将有助于加强C程序的界面的美观性. 关键词: VGA 、BMP、13h.h、TIMER.H、Logo。 一、问题的引入: C语言使用愈来愈...
Item 17: 在一个独立的语句中将 new 出来的对象存入智能指针 假设我们有一个函数取得我们的处理优先级,而第二个函数根据优先级针对动态分配的 Widget 做一些处理: int priorit...
Item 16: 使用相同形式的 new 和 delete 下面这段代码有什么问题? std::string *stringArray = new std::string[100]; ... dele...
Item 15: 在资源管理类中准备访问裸资源(raw resources) 资源管理类真是太棒了。他们是你防御资源泄漏的防波堤,没有这样的泄漏是设计良好的系统的基本特征。在一个完美的世界中,你可以在...
Item 14: 谨慎考虑资源管理类的拷贝行为 Item 13 介绍了作为资源管理类支柱的 Resource Acquisition Is Initialization (RAII) 原则,并描述了...
Item 12: 拷贝一个对象的所有组成部分 在设计良好的面向对象系统中,为了压缩其对象内部的空间,仅留两个函数用于对象的拷贝:一般称为拷贝构造函数(copy constructor)和拷贝赋值运算符...
Item 11: 在 operator= 中处理自赋值 当一个对象赋值给自己的时候就发生了一次自赋值: class Widget { ... }; Widget w; ... w = w;...
Item 10: 让赋值运算符返回一个 *this 的引用 关于赋值的一件有意思的事情是你可以把它们穿成一串。 int x, y, z; x = y = z = 15;...
从NT向solaris 8移植C/C++应用 客户端:WINDOWS2000/XP 服务端:NT/SOLARIS/AIX等 最近在向solaris 8中移植应用(服务端应用),遇到的问题还不少。 该应...
Item 9: 绝不要在构造或析构期间调用虚函数 我要开始翻新轮胎:你不应该在构造或析构期间调用虚函数,因为这样的调用不会如你想象那样工作,而且它们做的事情保证会让你很郁闷。如果你转为 Java 或...
Item 8: 防止因为异常而离开析构函数 C++ 并不禁止从析构函数中引发异常,但是这确实妨碍了实践。至于有什么好的理由,考虑: class Widget { public: ... ~Wi...
Item 7: 在多态基类中将析构函数声明为虚拟(virtual) 有很多方法可以跟踪时间的轨迹,所以有必要建立一个 TimeKeeper 基类,并为不同的计时方法建立派生类: class TimeK...
这一章的内容比较简单,对C++有一定了解和使用经验的程序员来说,基本上没有很多的难度。 但是在这一章中,仍然可以看出这本C++领域的天王级作品的不同之处。首先是开篇的安排就是讲解一个简单的C++程序,...
Item 2: 用consts, enums和inlines取代#defines 这个条款改名为“用编译器取代预处理器”也许更好一些,因为 #define 根本...
第一章 对象导言 计算机革命起源于一台机器。因此,程序设计语言的起源看上去也起源于那台机器。 ―― Bruce Eckel Bruce Eckel的话似乎是正确的。的确,程序设计语言从第...
像任何人类语言一样,C++提供了一种表达思想的方法。如果这种表达方法式成功的,那么就当问题变的更大和更复杂时,该方法将会明显的表现出比其它方法更容易和更灵活的优点。 ―― Bruc...
使用c++封装com的IEnum接口 最近在做DirectShow的一些开发,其中总要用到连接filter之类的操作,而filter是通过com中的枚举器得到的。在c++中使用枚举...
一 数组、指针、引用 数组是一种简单的数据结构,用来在一块连续的内存空间中存储多个相同类型的变量。数组名和数组第一个元素的地址都是这块内存空间的首地址,要访问数组中的元素可以使用...