c/c++
文章平均质量分 70
ant2005eq
这个作者很懒,什么都没留下…
展开
-
堆和栈
在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。 堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。 要点: 堆:顺序随意 栈:后进先出(Last-In/First-Out)堆和栈的区别 一、预备知识—程序的内存分配 一个由c转载 2009-08-03 23:23:00 · 749 阅读 · 0 评论 -
c++ 虚函数的实现机制
1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public: virtual void f(); virtual void g();private: int a};class转载 2009-08-03 22:53:00 · 5321 阅读 · 106 评论 -
关于(int&)
float a=1.0f;double b=1.0f;coutcout在Turbo c++3.0中的结果都为0;在VC++6.0中为1065353216和0(int)a是把float型强类型化为int类型,所以为0;(int&)a是把a地址的前两字节当成一个int类型数据输出;至于为什么Turbo c++3.0中的结果为0,可能是因为编译器的差异问题。不过我不明白的是为什么(int&)b输原创 2009-08-04 21:52:00 · 712 阅读 · 2 评论 -
对多进程/单线程模型的理解
最近在看北电代码的时候,发现,系统中大部分模块都采用的是一个进程/一个线程的设计方式,一个大的功能模块由多个进程构成。因为系统是运行在Linux平台上,一开始,我觉得这种设计是有问题,追溯根源,以为是北电之前使用的操作系统是vxworks,那帮北美的开发人员把vxworks中task的概念生搬硬套到linux中,在linux中提供了比进程性能更高的线程,他们并没有充分的利用起来。之后认真思考了一下转载 2009-08-22 11:27:00 · 987 阅读 · 0 评论