c/c++
beyonddream2008
这个作者很懒,什么都没留下…
展开
-
APUE2作者提供的源码编译方法及单个源码编译的实现(转载)
前面一篇文章讲解了《UNIX环境高级编程》源码编译方法。文中所讲到的编译方法是非作者提供的编译方法,即不使用作者提供的头文件,程序中所有使用的头文件都一一列出。而程序中的出错处理函数则简单的用printf函数替代。 随后,也有网友提出如何采用作者的方法来对所有的程序进行编译。出于解决问题,同时也想实现这个方法,毕竟实现之后每个程序都可以直接运行,还是比较方便的。因此,就按照源代码文件夹转载 2009-03-31 10:26:00 · 609 阅读 · 0 评论 -
类中const 数据成员的定义
林锐博士的《高质量c++编程》page43中说明不能在类声明中初始化const 数据成员。以下用法是错误的class A{ ...const int SIZE=100;int array[SIZE];};因为类的对象未被创建时,编译器不知道SIZE的值是什么 但是可以把const 数据成员定义为static型就可以了,归类所拥有,不属于对象。在比较老的原创 2009-04-23 19:11:00 · 696 阅读 · 0 评论 -
class String 的实现
#include #include class String{public: String(); String(const char *); ~String(); String(const String &s); String& operator= (const char *); String& operator= (co原创 2009-04-28 08:57:00 · 1600 阅读 · 0 评论 -
定位new
template void construct (T1 *p,const T2 &value){ new(p)T1(value);}construct 函数模板负责在给定的内存位置构造对象,并同时以某个初始值来初始化它,这里new操作符的形式成为定位new(placement new),这种形式的new并不为新对象分配内存,而只不过是将新对象放置到p所指的内存位置,任何以这种方原创 2009-07-14 16:37:00 · 1013 阅读 · 0 评论 -
函数返回指向函数的指针
void (*fun(void))(void) { cout<<" back a point to fun"<<endl; return (void(*)(void))fun; }int main(){ fun()(); system("pause"); return 0;} run:back a point to funback原创 2009-07-17 19:47:00 · 501 阅读 · 0 评论 -
变参数printf解析
摘要:一直以来都觉得printf似乎是c语言库中功能最强大的函数之一,不仅因为它能格式化输出,更在于它的参数个数没有限制,要几个就给几个,来者不拒。printf这种对参数个数和参数类型的强大适应性,让人产生了对它进行探索的浓厚兴趣。 关键字:printf, 可变参数 1. 使用情形 int a =10;double b = 20.0;char *str = "H转载 2009-06-14 11:17:00 · 819 阅读 · 0 评论 -
杂记
好多的基本知识过一段时间就糊涂了,做一下总结 enum data{ A,B,C,D,E}mydata;mydata 只能被枚举值(常量)赋值, mydata=A;sizeof(data)=4;整形类型--------------------------------------------------------union data{ int i; c原创 2009-07-10 14:50:00 · 454 阅读 · 0 评论