C\C++
mkmkmkkk
dz
展开
-
size_t
size_t和ssize_t是ANSI C提供的标准头文件里定义的一个“数据类型”,其实并不是新的数据类型,不是关键字,是通过typedef从已有数据类型定义而来。ANSI C总共提供了24个头文件,他们所处的目录因编译器而异,作者用的编译器是gcc4.3.2,大部分头文件在/usr/include目录下,但是定义size_t和ssize_t的头文件stddef.h则位于/usr/lib/gc转载 2013-11-18 15:55:05 · 668 阅读 · 0 评论 -
堆和栈的区别
1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、申请方式方面:转载 2013-11-18 16:02:12 · 616 阅读 · 0 评论 -
虚函数、纯虚函数详解
1.首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。 2.关于实例化一个类: 有纯虚函数的类是不可能生成类对象的,如果没有纯虚函数则可以。转载 2013-11-18 15:52:56 · 638 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast和const_cast之间的区别
C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本身的值并没有发生改变)。这就是典型的c-style类型转换。 下面是一个简单的程序:#include using namespace std; int m转载 2013-11-18 22:57:25 · 670 阅读 · 0 评论 -
const 总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2013-11-19 12:36:12 · 577 阅读 · 0 评论 -
C++容器
有了对数据结构的基本认识,那么对高级语言所提出的容器的概念就很容易理解。下面我们就来了解一下C++标准模板库(STL)提所供的10种通用容器。什么是容器首先,我们必须理解一下什么是容器,在C++中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处转载 2013-11-20 13:55:50 · 732 阅读 · 0 评论