C++
文章平均质量分 78
yshen_dublin
这个作者很懒,什么都没留下…
展开
-
VC++常用数据类型及其操作详解
目录一. VC常用数据类型列表二. 常用数据类型转化三. VC中字符串之间的转换一.VC常用数据类型列表 Type转载 2009-07-23 06:41:00 · 308 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技转载 2010-03-22 08:06:00 · 197 阅读 · 0 评论 -
《高质量C++编程指南》附录
摘自:http://man.chinaunix.net/develop/c&c++/c/c.htm前 言... <spanstyle=color:windowtext;display:none;mso-hide:screen;text-decoration:none;text-underline:none><spanstyle=color:wind原创 2010-03-21 05:16:00 · 293 阅读 · 0 评论 -
标准C++的类型转换符:static_cast、dynamic_cast、 reinterpret_cast和const_cast
static_cast、dynamic_cast、reinterpret_cast、和const_cast(比如static_cast,相当于c里面的转换,dynamic_cast (父子之间转换),const_cast 去掉常量性.)关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++转载 2010-03-21 07:02:00 · 492 阅读 · 0 评论 -
CString,string,char*的综合比较
(一) 概述string和CString均是字符串模板类:string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;CString(typedef CStringT> CString)为Visual C++中最常用的字符串类,继承自CSimpleString转载 2010-03-21 07:25:00 · 319 阅读 · 1 评论 -
函数指针的应用
函数指针顾名思义就是指向一个函数的指针,下面是一个具体应用的例子 #include using namespace std;int add(int i,int j){return i+j;}int sub(int i,int j){return i-j;} //将来可以加入其他函数typedef int (*pFunc)(int,int); //pFunc原创 2010-03-21 22:10:00 · 258 阅读 · 0 评论 -
C++面试题汇总
1. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,原创 2010-03-29 19:44:00 · 382 阅读 · 0 评论 -
如何检测内存泄漏 —— 重载 new和delete
我曾经参与过一个比较大的项目,在这个项目里面,我们没有一个完全确定的设计文档,所以程序的实现常常变动。虽然我们有一个比较灵活的框架,但是从程序的角度来讲,它使我们的程序非常的混乱。直到发布的日期临近,我们还没有一个稳定的可以用来做alpha测试的版本。所以我们必须尽快的删除掉无用的代码,让这个版本足够的稳定。但是,在这个没有足够规范的软件公司,我们没有时间也没有足够的精力来做边界测原创 2010-03-30 22:32:00 · 544 阅读 · 0 评论 -
C++指针错误使用情形汇总
1. 比如有 A* a; 然后在未赋值的情况下直接使用指针a 2. 比如有 A* a; a=&obj; 如果obj事先已经被删掉了,那么这个指针赋值就会运行出错3. 比如有 inta[10]; int* p=&a[0]; p+10; //数组指针越界报错4. 尝试访问或原创 2010-04-02 07:05:00 · 2022 阅读 · 0 评论 -
Smart Pointers - What, Why, Which?
What are they?Smart pointers are objects that look and feel like pointers, but aresmarter. What does this mean?To look and feel like pointers, smart pointers need tohave the same interfa转载 2010-03-19 00:13:00 · 276 阅读 · 0 评论 -
C++多态技术
摘要本文描述了C++中的各种多态性。重点阐述了面向对象的动态多态和基于模板的静态多态,并初步探讨了两种技术的结合使用。 关键词多态 继承 虚函数 模板 宏 函数重载 泛型编程 泛型模式 导言多态(polymorphism)一词最初来源于希腊语polumorphos,含义是具有多种形式或形态的情形。在程序设计领域,一个广泛认可的转载 2010-03-15 21:22:00 · 210 阅读 · 0 评论 -
C++ 模板
函数模板#include #include using namespace std; //template //模版类型关键字class在新C++标准中建议使用typename代替.templateT TestMax(T a,T b){ if (a > b) return a; else原创 2010-03-17 00:31:00 · 216 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(一)
1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使转载 2009-07-03 07:45:00 · 191 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(二)
上节给大家介绍了静态链接库与库的调试与查看(动态链接库(DLL)编程深入浅出(一)),本节主要介绍非MFC DLL。4.非MFC DLL4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图6,在VC++中new一个Win32 Dynamic-Link Libra转载 2009-07-05 06:26:00 · 274 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(三)
第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。 另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵!由于笔者的水平有限,文中难免有错误和纰漏,也热诚欢迎读者朋友不吝指正!转载 2009-07-06 00:50:00 · 225 阅读 · 0 评论 -
VC++动态链接库(DLL)编程深入浅出(四)
MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CStatic、CButton等类使之具备更强大的能力。 使用Visual C++向导生产MFC扩展DLL时,MF转载 2009-07-08 03:25:00 · 280 阅读 · 0 评论 -
C++排序算法
#include void SelectSort(int arr[], int len){ for (int i=0; i { int min = i; for (int j=i+1; j { if (arr[j]转载 2009-11-08 20:01:00 · 231 阅读 · 0 评论 -
Const,Const函数,Const变量,函数后面的Const
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书原创 2010-03-13 01:44:00 · 216 阅读 · 0 评论 -
堆、栈及静态数据区详解
五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈—就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆—就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delet转载 2010-03-13 07:53:00 · 245 阅读 · 0 评论 -
C++中extern “C”含义深层探索
document.body.oncopy = function() { if (window.clipboardData) { set转载 2010-03-15 07:23:00 · 201 阅读 · 0 评论 -
Using Abstraction to Optimize Runtime Polymorphism
Using Abstraction to Optimize Runtime Polymorphism by Gabriel T. DelarosaWhat is the cost of polymorphism? As any experienced C++ programmer knows, virtual functions are slower than normal functions because they require more indirection. Each object must转载 2010-07-15 17:31:00 · 404 阅读 · 0 评论