C/C++
文章平均质量分 64
zyobi
这个作者很懒,什么都没留下…
展开
-
static_cast揭密
本文讨论static_cast。介绍大多程序员在学C++前都学过C,并且习惯于C风格(类型)转换。当写C++(程序)时,有时候我 们在使用static_cast时可能会有点模糊。在本文中,我将说明 static_cast泛型(Generic Types) float f = 12.3; float* pf = &f; // static cast转载 2006-09-03 19:29:00 · 1476 阅读 · 0 评论 -
C++ STL轻松导学
1 初识STL:解答一些疑问1.1 一个最关心的问题:什么是STL1.2 追根溯源:STL的历史1.3 千丝万缕的联系1.3.1 STL和C++1.3.2 STL和C++标准函数库1.3.3 STL和GP,GP和OOP1.4 STL的不同实现版本1.4.1 HP STL1.4.2 P.J. Plauger STLhttp://www.dinkumware.com。据称Visual Studio.N转载 2006-09-03 19:52:00 · 897 阅读 · 0 评论 -
typedef用法小结
这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下:来源一:Using typedef to Curb Miscreant Code Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef转载 2006-09-08 23:24:00 · 676 阅读 · 0 评论 -
标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast(转载)
C 风格(C-style)强制转型如下: (T) expression // cast expression to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(expression) // cast expression to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(转载 2006-09-03 19:22:00 · 1441 阅读 · 0 评论 -
成员变量/函数指针的用法
标准C++并没有真正的面向对象的函数指针。这是很遗憾的,因为面向对象的函数指针(有时也称为委 托)已经在其他语言中被证明了它的价值。在Delphi(面向对象的Pascal语言)中,面向对象的函数指针是Borland公司构建VCL(可视化组 件库)的基础。最近,C#为了显示其语言本身的成功,也在力推委托(delegate)的概念。对于很多应用程序来说,委托简化了一些使用松耦合对象构建 的设计模式转载 2006-09-06 22:13:00 · 1834 阅读 · 0 评论 -
C++运算符重载转换运算符
为什么需要转换运算符? 大家知道对于内置类型的数据我们可以通过强制转换符的使用来转换数据,例如(int)2.1f;自定义类也是类型,那么自定义类的对象在很多情况下也需要支持此操作,C++提供了转换运算符重载函数,它使得自定义类对象的强转换成为可能。 转换运算符的生命方式比较特别,方法如下: operator 类名(); 转换运算符的重载函数是没有返回类型的,它和类的构造函数,转载 2006-09-14 19:57:00 · 987 阅读 · 0 评论 -
Effective C++读书笔记
条款1:尽量用const和inline而不用#define1.为方便调试,最好使用常量。注意:常量定义一般放在头文件中,可将指针和指针所指的类型都定义成const,如const char * const authorName = “Scott Meyers”;类中常量通常定义为静态成员, 而且需要先声明后定义。可以在声明时或定义时赋值,也可使用借用enum的方法。如enum{Num = 5};2.原创 2006-10-05 09:32:00 · 888 阅读 · 0 评论 -
More Effective C++读书笔记
条款1:指针与引用的区别二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变。在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象。在以下情况使用引用:总是指向一个对象且一旦指向一个对象之后就不会改变指向;重载某个操作符时,使用指针会造成语义误解。原创 2006-10-05 09:33:00 · 820 阅读 · 0 评论 -
Can not open file with "ios_base::in | ios_base::app"
GCC 4.1.2 不支持用 ios_base::in | ios_base::app 模式打开文件。可以使用的替代方案是:fstream fs("test.txt");fs.seekp(0, ios::end);详细讨论请见:Can not open file with "ios_base::in | ios_base::app"Google 网上论坛: comp.lang.c++原创 2007-10-09 11:23:00 · 788 阅读 · 0 评论