
C++
文章平均质量分 79
huxin1
这个作者很懒,什么都没留下…
展开
-
c++模板
1. 简介 模板是C++在90年代引进的一个新概念,原本是为了对容器类(container classes)的支持[1],但是现在模板产生的效果已经远非当初所能想象。 简单的讲,模板就是一种参数化(parameterized)的类或函数,也就是类的形态(成员、方法、布局等)或者函数的形态(参数、返回值等)可以被参数改变。更加神奇的是这里所说的参数,不光是我们传统函数中所说的数值形式的转载 2008-11-17 20:04:00 · 1265 阅读 · 1 评论 -
#ifdef的用法
灵活使用#ifdef指示符,我们可以区隔一些与特定头文件、程序库和其他文件版本有关的代码。代码举例:新建define.cpp文件#include "iostream.h"int main(){#ifdef DEBUG cout#endif return 0;}运行结果为:Press any key to continue 改写代码如下:#include "iostream.h"#defin转载 2009-01-16 14:19:00 · 871 阅读 · 0 评论 -
c++ 中的inline
在C++中,为了解决一些频繁调用的小涵数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联涵数。 可能说到这里,很多人还不明白什么是栈空间,其实栈空间就是指放置程序的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,如果频繁大量的使用就会造成因栈空间不足所造成的程序出错的问题,涵数的死循环递归调用的最终结果就是导致栈内存空间枯竭。 下面我们来看一个例转载 2009-01-16 13:27:00 · 813 阅读 · 0 评论 -
typedef用法 与#define
typedef根据名字就知道是对类的定义。但是值得注意的是,它并不定义新的类型,而是对已有的类型定义一个其他的名字。本人生就略愚,常常搞不清与#define的关系,难道仅仅是所定义得到的新类型所在的位置不同吗?首先我们仔细看看typedef。一、typedef的用法人说typedef的使用可以编写更加美观和可读的代码,原因是typedef可以隐藏笨拙的语法结构以及平台相关的数据类型,转载 2009-01-18 16:09:00 · 491 阅读 · 0 评论 -
Crypto++在Visual Studio 2008下的使用方式
最近在帮学长测试Crypto++在Visual Studio下的使用方式,在这边记录一下步骤跟过程。 我是使用Visual Studio 2008进行编译跟安装,但是相同步骤经学长测试过,在VS 2005下应该也行得通。 只是整个compile建置过程不要不同版本Visual Studio混用就可以了(因为之前卡关了一下就是因为这个原因……) 整个过程分成两个主要部份,第一部份转载 2009-01-19 08:59:00 · 2151 阅读 · 0 评论 -
关于c++的explicit关键字(有空译成中文)
简而言之:explicit修饰的构造函数不能担任转换函数这个 《ANSI/ISO C++ Professional Programmers Handbook 》是这样说的explicit ConstructorsA constructor that takes a single argument is, by default, an implicit conversion operator, w转载 2009-01-30 17:01:00 · 938 阅读 · 0 评论 -
c++关键字详解(volatile, mutable, explicit, dynamic_ cast(expression))等
1 volatile有些变量是用volatile关键字声明的。当两个线程都要用到某一个变量且该变量的值会被改变时,应该用volatile声明,该关键字的作用是防止优化编译器把变量从内存装入CPU寄存器中。如果变量被装入寄存器,那么两个线程有可能一个使用内存中的变量,一个使用寄存器中的变量,这会造成程序的错误执行。 volatile的意思是让编译器每次操作该变量时一定要从内存中真正取出,而不是使用转载 2009-01-30 17:11:00 · 4780 阅读 · 1 评论 -
VC知识点1
const int bufferSize = 1024;/* Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常原创 2009-06-30 16:36:00 · 582 阅读 · 0 评论 -
深入解析MFC -- CString的内存结构
VC6的时候记得看过CString的源代码,并不复杂,应该是从VC7开始,MFC和ATL共用一个CString了,新的CString使用了模板技术和其它技术,值得一提。 先 看CString的定义:typedef CAtlString CString;如果想明确使用ANSI和UNICODE版本,可以使用CStringA和CStringW,看它们的定义:typedef CAtlStri原创 2009-06-30 19:40:00 · 5458 阅读 · 0 评论