
C/C++
文章平均质量分 73
eric_zl_zhang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c/c++ 中的# #@ 和##
c/c++的预处理定义:一、Stringizing Operator (#)在c和c++中数字标志符#被赋予了新的意义,即字符串化操作符。其作用是:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。其只能用于有传入参数的宏定义中,且必须置于宏定义体中的参转载 2011-09-06 13:55:30 · 668 阅读 · 0 评论 -
继承与多态
虚函数只要在基类里定义,所以继承类都不用重新定义为虚函数,自动成为虚函数。虚函数必须有实现,普通成员函数在没有调用时可以没有实现(定义)。//////////////main.hclass animal{public:animal(){coutvirtual ~animal(){coutpublic:virtual void speak(){cout原创 2014-01-13 10:19:18 · 833 阅读 · 0 评论 -
test
//////////////main.hclass animal{public:animal(){cout<<"animal"<<endl;}virtual ~animal(){cout<<"~animal"<<endl;}public:virtual void speak(){cout<<"no speak"<<endl;}void smile();};原创 2014-01-13 10:27:58 · 713 阅读 · 0 评论 -
迭代器实现代码
#include using namespace std;template class my_iterator{//friend class my_iterator;public:my_iterator(T *value=NULL){_value=value;}//~my_iterator()//该不该加?//{//}T& operator*转载 2013-12-20 17:11:51 · 860 阅读 · 0 评论 -
# ## @#(字符串化操作符,粘接附,字符化操作符)
1. 字符串化操作符##include #include using namespace std;#define warn_if(x)\do{\ if(x)\ printf("warn "#x"\n");\}while(0);int main(){ int eric=3; warn_if(eric==3)原创 2013-12-20 10:30:33 · 1003 阅读 · 0 评论 -
printf输出多列时的列对齐
列左对齐printf("%-*s", 20, string); 表示输出字符串左对齐输出20,如果字符串不够20个,以空格补齐。 -表示左对齐。例:struct help_struct{char *option_name;char *option_value;char *option_ext;};struct help_struct opti原创 2012-05-25 10:03:30 · 17051 阅读 · 0 评论 -
树的先序、中序和后序遍历方式
前序遍历前序遍历(DLR)前序遍历也叫做先根遍历、先序遍历,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。若二叉树为空则结束返回,否则:(1)访问根结点。(2)前序遍历左子树。(3)前序遍历右子树。需要注意的是:遍历左右子树时仍然采用前序遍历方转载 2012-06-13 16:56:25 · 91968 阅读 · 0 评论 -
可变参数宏
在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) \printk(KERN_DEBUG fmt,##arg)用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如:void printf(const char* format, …);直到最近,可转载 2012-01-06 14:56:37 · 627 阅读 · 0 评论 -
c语言中的对齐方式
对齐有自然对齐(Natural)和指点对齐(Assign)。自然对齐指数据类型本身的对齐方式,例如 int为4,float为4,double为8.指定对齐为编译器默认的对齐方式(VC默认为8)或用#pragma pack(x) x为对齐值。用#pragma pack()可原创 2011-09-02 19:14:44 · 3579 阅读 · 0 评论 -
fopen 文本文件与二进制文件区别
在学习C语言文件操作后,我们都会知道打开文件的函数是fopen,也知道它的第二个参数是 标志字符串。其中,如果字符串中出现'b',则表明是以打开二进制(binary)文件,否则是打开文本文件。 那么什么是文本文件,什么是二进制文件呢? 可能大多数人都没有仔细考虑过。转载 2011-09-09 14:19:14 · 3704 阅读 · 2 评论 -
枚举,结构体,共用体
1、枚举(enum)枚举的定义:enum LOG_LEVEL{ DBG, INF, WAR, ERR, FAT, ALL, OFF};void WriteInfor(LOG_LEVEL原创 2011-09-07 15:24:41 · 1910 阅读 · 0 评论 -
__FILE__ __LINE__ __DATE__ __TIME__的使用
在编程的过程中使用__FILE__ __LINE__ __DATE__ __TIME__可以更好的定位问题解决问题。在vs2005中:// macroTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#defi原创 2011-09-06 17:51:23 · 895 阅读 · 0 评论 -
一个makefile实例
参考 GNU make中文手册原创 2012-01-12 17:26:47 · 612 阅读 · 0 评论