自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

转载 拷贝构造函数与赋值操作

<br />重点:包含动态分配成员的类 应提供拷贝构造函数,并重载"="赋值操作符。 <br /><br />以下讨论中将用到的例子: <br />class CExample<br />{<br />public:<br />     CExample(){pBuffer=NULL; nSize=0;}<br />     ~CExample(){delete pBuffer;}<br />    void Init(int n){ pBuffer=new char[n]; nSize=n;}<br />

2011-02-28 21:34:00 610

转载 new/delete 与malloc/free 区别与联系

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加malloc/free。(2)在用法上也有所不同。函数malloc 的原型如下:voi

2011-02-22 20:49:00 633

转载 进程地址空间的布局以及进程堆栈帧的结构

<br /><br />前言<br />从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函数返回地址这样的重要数据保存在程序员可见的堆栈中,因此也给系统安全带来了极大的隐患。<br />历史上最著名的缓冲区溢出攻击可能要算是1988年11月2日的Morris Worm所携带的攻击代码了。这个因特网蠕虫利用了fin

2011-02-20 12:02:00 8457 1

转载 虚继承和虚基类本质

<br />虚继承和虚基类的定义是非常的简单的,同时也是非常容易判断一个继承是否是虚继承<br />的,虽然这两个概念的定义是非常的简单明确的,但是在C++语言中虚继承作为一个比较生<br />僻的但是又是绝对必要的组成部份而存在着,并且其行为和模型均表现出和一般的继承体系<br />之间的巨大的差异(包括访问性能上的差异),现在我们就来彻底的从语言、模型、性能和<br />应用等多个方面对虚继承和虚基类进行研究。<br />    首先还是先给出虚继承和虚基类的定义。<br />    虚继承:在继承定义

2011-02-19 11:11:00 613

转载 虚继承基础小结

<br />为什么要引入虚拟继承? <br /><br />虚拟继承在一般的应用中很少用到,所以也往往被忽视,这也主要是因为在C++中,多重继承是不推荐的,也并不常用,而一旦离开了多重继承,虚拟继承就完全失去了存在的必要(因为这样只会降低效率和占用更多的空间,关于这一点,我自己还没有太多深刻的理解,有兴趣的可以看网络上白杨的作品《RTTI、虚函数和虚基类的开销分析及使用指导》,说实话我目前还没看得很明白,高人可以指点下我)。 <br /><br />以下面的一个例子为例: <br /><br />#incl

2011-02-19 11:09:00 647

原创 指针与结构体知识小结

1.基本概念:首先定义一个结构体类型,然后定义这种类型的变量和指针:struct unit { char c; int num; }; struct unit u; struct unit *p = &u;要通过指针p访问结构体成员可以写成(*p).c和(*p).num,为了书写方便,C语言提供了->运算符,也可以写成p->c和p->num。2.指向指针的指针与指针数组指针可以指向基本类型,也可以指向复合类型,因此也可以指向另外一个指针变量,称为指向指针的指针。int i; int *pi

2011-02-12 22:56:00 8262

转载 堆栈知识小结

一、预备知识—程序的内存分配 由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack): 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 3、全局区(static): 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量

2011-02-10 21:11:00 776

转载 内存中数据对齐相关

<br /><br />版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明<br />http://bigwhite.blogbus.com/logs/1347304.html<br />在最近的项目中,我们涉及到了“内存对齐”技术。对于大部分程序员来说,“内存对齐”对他们来说都应该是“透明的”。“内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐”。如果你想了解更加底层的秘密,“内存对齐”对

2011-02-10 16:50:00 1364

linux 命令大全 很不错的

linux 命令大全 很不错的,一起学习吧~~~

2009-10-30

linux内核设计与实现PDF版的

linux内核设计与实现PDF版是学习内核编程的好书啊 呵呵 别的不说了~~~~

2009-10-29

北邮通信原理考研课件

考研 北邮 通信原理课件 适合考北邮的同学 为考研一族加油~~~~

2009-03-19

空空如也

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

TA关注的人

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