C/C++
文章平均质量分 80
guo_wangwei
这个作者很懒,什么都没留下…
展开
-
预定义知识
预定义知识------------------------写于2005年12月26日1. 宏指令:#define #error #import #undef #elif #if #include #else #ifdef #line #endif #ifndef #pragma2.#define#define WIDTH 80#define转载 2006-01-24 09:33:00 · 950 阅读 · 0 评论 -
二维、结构网格单相流SIMPLE 算法的C语言实现
下载:SIMPLE_C源代码 exam1 exam6 exam10 exam6.mpg(46K) SIMPLE_C说明文件(PDF 1.7M)与我联系:qzhen@flotu.org 第一节 前言 SIMPLE算法的全称是“Semi-Implicit Method for Pressure-Linked Equations”,意思是求解压力耦合的质量转载 2006-02-07 11:54:00 · 10640 阅读 · 4 评论 -
整型表达式比较的潜在危险
整型表达式比较的潜在危险 在程序里头经常会用到整数之间的大小比较,但是其中潜在的危险却往往被忽略了。例如一个内存拷贝函数:void memcpy(void *pTo,void *pFrom,size_t size){ assert(pTo != NULL && pFrom != NULL); while( --size >= 0) { *pTo++ = *转载 2006-02-07 11:49:00 · 1276 阅读 · 0 评论 -
拨开自定义operator new与operator delete的迷雾
拨开自定义operator new与operator delete的迷雾 C++允许用户通过自定义operator new和operator delete的方式来更改new与delete表达式的某些行为,这给了程序员定制内存管理方案的自由。但是享受这种自由的时候必须遵守一定的规范,具体可以参见《Effective C++ 2nd》的相关条款。本文补充解释一些特别容易引起误解的问题。转载 2006-02-07 11:42:00 · 1155 阅读 · 0 评论 -
为什么会出现LNK2005"符号已定义"的链接错误?
为什么会出现LNK2005"符号已定义"的链接错误? 许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误,而且通常是在使用第三方库时遇到的。对于这个问题,有的朋友可能不知其然,而有的朋友可能知其然却不知其所以然,那么本转载 2006-02-07 11:40:00 · 1106 阅读 · 0 评论 -
C/C++中数组名的含义
C/C++中数组名的含义 C/C++中的数组名是个很奇怪的东西,它到底代表什么呢? 对于char array[n](n是一个常数),大概有这么几种语义: char* const(注意不是const char*) char [n] 举例如下(WIN2000 PRO平台,VC.NET 7.1下编译): char *p = array; //array表转载 2006-02-07 11:45:00 · 1654 阅读 · 0 评论 -
挺好玩的C语句
我在学习VC,或者在阅读别人写的文章的时候,偶尔碰到下面很多有趣的,并且很奇怪的语句,整理起来,以备后忘. 其实有些是不大容易想到的技巧,贴出来权当大伙饭后没事的小品文,当然不要过多的看重类似的语句学习,而忽略了基础知识。 一. 奇怪的宏定义 (1) #define for if(0); else for 按照c++标准,for中定义的变量的作用域应该只在for循环中有效,而VC却不行转载 2006-01-21 17:25:00 · 1037 阅读 · 0 评论 -
菜鸟FAQ--指针
1、什么是指针 指针是一种数据类型,与其它的数据类型不同的是指针是一种“用来存放地址值的”变量。举一个简单的例子:如果定义了一个整型变量,根据整型变量的特点,它可以存放的数是整数。如:int a; a=100; 这样就把整型常量赋给了变量a。但是如果写成这样:a=123.33;就会出问题,最后输出变量a的值结果是123。现在说到指针,其实地址值也是一个整型数,如某某变量的地址值为36542,说明转载 2006-01-21 16:52:00 · 850 阅读 · 0 评论 -
使得if语句成为表达式的一个技巧
使得if语句成为表达式的一个技巧 C/C++语言中 if( a>9 ) a+=7 等同于 a>9?(a+=7):0 等同于 a>9&&(a+=7) 等同于 aif( a>9 ) a+=7 清晰易懂,所以能用 if 的情况下就不要使用其他取巧的方法,但也应该知道if只能作为语句,而不能作为表达式,比如一个遍历ODBC记录集的代码,使用 if 语句只能如下:CRecordset r转载 2006-01-17 09:53:00 · 2380 阅读 · 0 评论 -
C++事件(Event)机制的实现一例
作者:袁晓辉(farproc@gmail.com) 声明:1、 本文为作者原创,如需转载请保持本文的完整性并注明出自 www.farproc.com 和 http://blog.csdn.net/uoyevoli. 2、 本文附件中的源代码你可以免费使用并无需注明出处。 用C++实现事件机制我以前写过一个小例子,但不是很完善,比如Event只能接受全局函数作为han转载 2006-01-24 16:02:00 · 1712 阅读 · 1 评论 -
程序设计模式的有趣解释-追MM
1、FACTORY一追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如转载 2006-01-24 15:30:00 · 985 阅读 · 0 评论 -
C++资源
c++资源 Mon Jan 16 23:23:28 2006 【 以下文字转载自 CPlusPlus 讨论区 】 【 原文由 tianpusen 所发表 】 英文: * The C++ resources network * C/C++ Reference * C++ Language and Library * Dinkum C++ Library Referen转载 2006-01-23 17:02:00 · 1300 阅读 · 0 评论 -
泛型编程与设计新思维
前言 永远记住,编写代码的宗旨在于简单明了,不要使用语言中的冷僻特性,耍小聪明,重要的是编写你理解的代码,理解你编写的代码,这样你可能会做的更好。 --- Herb Sutter 1998年,国际C++标准正式通过,标准化对C++最重要的贡献是:对"强大的抽象概念"给于更有力的支持,以降低软件的复杂度,C++提供了二种功能强大的抽象方法:面向对象编程与泛型编程。面向对象编程大家一定很熟悉了转载 2006-01-21 17:06:00 · 852 阅读 · 0 评论 -
智能指针的标准之争:Boost vs. Loki
2001 年10 月和2002 年4 月,在美国的华盛顿和荷兰的安的列斯群岛上分别召开了两次C++标准会议。会议的内容之一是对一项新的C++特性提议——智能指针(Smart Pointer)——进行讨论。本文将对可能成为C++新标准的两种智能指针方案(Boost vs. Loki)进行介绍和分析,并给出了相应的使用实例。关键词:智能指针 C++ Boost Loki 在现在的标准C++中,只有一转载 2006-03-09 12:28:00 · 1377 阅读 · 0 评论 -
预定义的使用
1. 宏指令:#define #error #import #undef #elif #if #include #else #ifdef #line #endif #ifndef #pragma2.#define#define WIDTH 80#define LENGTH (WIDTH+10)#define test(f1,f2) (f1*f2)转载 2006-03-09 10:51:00 · 1265 阅读 · 0 评论 -
画刷的使用
画刷的使用 -------------------写于12月26号晚1. 画刷的创建。CBrush( );CBrush( COLORREF crColor ); throw( CReso转载 2006-01-24 09:36:00 · 1390 阅读 · 0 评论 -
一个不使用MFC的CMemFile类
MFC中有一个非常好用的CMemFile类,可以让我们像读写文件一样来操作一块内存。但是它的最大缺点就是使用了MFC,从CObject继承,这样我们在写非MFC程序时就不能使用这个方便的内存文件类了。下面是我根据MFC的CMemFile的源代码改写的一个CAnsiMemFile类,去掉了CMemFile中使用MFC的部分,希望对大家有用。 CAnsiMemFile的使用非转载 2006-01-24 16:05:00 · 5967 阅读 · 5 评论 -
经典编程:DLL地狱及其解决方案
本文将要介绍DLL的向后兼容性问题,也就是著名的“DLL Hell”问题。首先我会列出自己的研究结果,其中包括其它一些研究者的成果。在本文的最后,我还将给出“DLL Hell”问题的一个解决方案。 介绍 我曾经接受过一个任务,去解决一个DLL版本更新的问题————某个公司给用户提供了一套SDK,这个SDK是由一系列DLL组成的;DLL中导出了很多类,用户使用这些类(直接使用或派生新的子转载 2006-01-24 15:54:00 · 1265 阅读 · 0 评论 -
C与C++的函数调用约定
在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递转载 2006-03-06 15:26:00 · 1408 阅读 · 0 评论