自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DKarthas的专栏

我的技术blog

  • 博客(11)
  • 收藏
  • 关注

原创 thinking in c++读书笔记------introduction to templates

container、templates、iterator、algorithm相互联系,是构造stl的基础。内容太多,没有需要特别要提的地方,想要快速的复习,主需要看看这一章最后的一个例子就可以了,基本上涵盖了所有的内容。就是why iterators?一节里面的例子。 p795

2007-03-29 12:23:00 878

原创 thinking in c++读书笔记-------多态与虚函数

虚函数我就不介绍了,其实现的关键就在虚函数表VTABLE,每个类(前提是有虚函数)一个,每个对象有一个指向虚函数的指针VPTR。如图: 这里要说的是:如果类中有纯虚函数,这个类也就称为抽象类,抽象类的对象在作为一个函数的参数时,不能用值传递,只能用地址或者引用.原因我认为时这样的,如果采用值传递,在拷贝的过程中,如果传入的是基类的派生类,那么可能有数据丢失,产生切片,不过在函数里面

2007-03-16 16:19:00 1062

原创 thinking in c++读书笔记---------继承与组合

名字隐藏: class A...{public :   void func ();   void func (int );   float func (float);    }class B: public class A ...{public :int func (double);} 在上面这段程序中,只是普通的继承,B类中,有一个函数func,这个函数将掩盖基类A中所有同名

2007-03-16 15:58:00 919

转载 熟悉C++标准库

C++标准库非常大。在C++标准中,关于标准库的规格说明占了密密麻麻300多页,这还不包括标准C库,后者只是 "作为参考"包含在C++库中。 当然,并非总是越大越好,但在现在的情况下,确实越大越好,因为大的库会包含大量的功能。标准库中的功能越多,开发自己的应用程序时能借助的功能就越多。C++库并非提供了一切(没有提供并发和图形用户接口的支持),但确实提供了很多。几乎任何事都可以求助于它。

2007-03-13 21:59:00 876

转载 三十分钟掌握STL

三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个

2007-03-13 21:45:00 1062

转载 __attribute__详解

GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute

2007-03-13 20:59:00 1551

原创 __THROW是什么东西?

__THROW是什么东西?很多头文件里面对函数的声明后面都跟一个这东西,查了一下,有这么个文章说的清楚,转来看看。Linux/FreeBSD内核的源文件里常会出现这个东东。其实并不复杂,只是简单的宏定义,可以参考以下代码;:/* GCC can always grok prototypes.  For C++ programs we add throw()   to help it optim

2007-03-13 20:29:00 5867 2

原创 thinking in c++ 读书笔记---operator overloading

运算符重载,关键点有这些:1>函数是全局函数,还是类的成员函数,如果是类的成员函数,则函数的参数少一个,左边的为对象本身,右边的为函数参数,如果是单目运算符,默认运算符在左边,如果在右边,则参考下面的例子:++/--这两个单目运算符都有两种可能,左边右边都可以,现在 列出代码,很容易明白。 const Integer& operator++(Integer& a) ...{12: 

2007-03-09 15:28:00 1274

原创 c++中函数指针的使用方法

  在C++中,可以将函数地址保存在函数指针中,然后用该指针间接调用函数。例如:    int (*Compare)(const char*, const char*);    该语句定义了一个函数名为Compare的函数指针,它能用于保存任何有两个常量字符形参、返回整型值的函数的地址。例如,Compare能指向C++标准的字符串比较函数库中的函数strcmp:    Compare = &str

2007-03-08 17:00:00 1132

原创 thinking in c++读书笔记--类的静态数据成员的定义的连接属性:外部连接属性

thinking in c++ 中有一处错误,他认为类的静态数据成员的定义具有内部连接属性,可以放在头文件里面,这是不对的。下面具体说明。关于类的静态数据成员,他的定义必须在类的外部,并且只能有一次定义。这个定义,具有外部连接属性,最好放在类的实现文件里面,不能放在类的头文件里面。下面的例子证明这一点。3个文件,一个header.h,header.c main.c首先是header

2007-03-06 23:09:00 1400

原创 thinking in c++ 读书笔记---name control

static的变量,如果没有初始化,如果是build in type的变量,会初始化为0,在转化到合适的类型,如果是用户定义的object,会调用默认的构造函数。static变量的析构函数的调用时间:main()函数结束,或者显示调用exit()函数时。一般的实现里面,main()函数结束时都会调用exit()函数。 所以建议不要在类的析构函数里面调用exit()函数,容易造成死循环。注意

2007-03-06 15:48:00 968

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除