
C++
文章平均质量分 84
小猪Adam
这个作者很懒,什么都没留下…
展开
-
通用C++ typeid实现(不支持RTTI) v0.2
function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/storeit.转载 2009-05-21 17:08:00 · 929 阅读 · 0 评论 -
C++模板
1. 简介模板是C++在90年代引进的一个新概念,原本是为了对容器类(container classes)的支持[1],但是现在模板产生的效果已经远非当初所能想象。简单的讲,模板就是一种参数化(parameterized)的类或函数,也就是类的形态(成员、方法、布局等)或者函数的形态(参数、返回值等)可以被参数改变。更加神奇的是这里所说的参数,不光是我们传统函数中所说的数值形式的参转载 2009-06-11 09:58:00 · 1336 阅读 · 0 评论 -
C语言宏的高级应用
关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP) / do{ if (EXP) / fprintf(stderr, "Warning: " #EXP "/转载 2009-06-24 17:29:00 · 660 阅读 · 0 评论 -
C/C++中宏使用总结
C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C语言的一部分,但却扩展了C程 序设计的环境。本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性。ANSI标准定义的C语言预处理程序包括下列命令:#define,#error,#i nclude,#if,#else,#elif,#endif,#ifdef,#ifndef转载 2009-06-24 17:42:00 · 917 阅读 · 0 评论 -
VC6不支持的模板特性
1. 部分特化 2. 模板嵌套(即template >) 3. 模板参数形式匹配(不知道该用什么名字描述合适): template struct PtrType2Type;template struct PtrType2Type{ typedef TType Result;}; 第转载 2009-06-25 14:33:00 · 1306 阅读 · 0 评论 -
模板参数名命名惯例
以下模板参数名命名惯例来自于stlsoft,详细说明于《Extended STL》。模板参数一般是一个或者两个大写字母,例如T(type/value-type)、S(sequence/string)、C(container/character)、VP(value policy type)等等。这样做有两个原因。首先,全大写字母的单词可能被宏定义。相反,宏定义一般转载 2009-06-25 14:44:00 · 727 阅读 · 0 评论 -
[转]gcc基础
1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译 2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名字原创 2009-11-06 11:08:00 · 869 阅读 · 0 评论