- 博客(8)
- 收藏
- 关注
原创 有虚函数或虚继承关系的sizeof问题
1.只存在虚函数时的情况 存在VtPtr指针,指向虚函数表。在普通继承时,子类会修改父类的虚函数表(在尾部添加子类的虚函数指针),所以子类对象的首部不会增加自己的Vtptr。 具体内容见: http://hi.baidu.com/jjsjmmkifxbaotq/item/0eb7e4304acb3b2cceb9fe3f 2. 存在虚继承关系时的情况 有关虚继承的定义,参见博文http
2013-07-28 22:50:07
576
转载 malloc/free与new/delete
相同点:都可用于申请动态内存和释放内存 不同点: (1)操作对象有所不同。 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内
2013-07-28 16:25:48
342
转载 句柄VS.指针
一、为什么我们需要句柄? 更准确地说,是windows需要句柄。windows需要向程序员提供必要地编程接口,在这些接口中,允许程序员访问、创建和销毁对象。但是,出于封装地考虑,windows并不想向程序员返回指针。指针包含了太多的信息。首先指针给出了对象存储的确切位置;其次,要操作一个指针,程序员必须知道指针所指对象的内部结构特征,也即,windows必须向程序员暴露相应的数据
2013-07-28 16:09:23
768
转载 空指针的解引用
NULL指针的访问异常是C程序员常见的bug,事实上部分情况下空指针可以解引用,下面的thread,列出了几个例子。 http://stackoverflow.com/questions/6793262/why-dereferencing-a-null-pointer-is-undefined-behaviour On the PDP-11, it happened that addres
2013-07-24 21:00:37
3191
转载 整型提升
C++ primer中关于整型提升(integral promotion)的定义为: "A character, a short integer, or an integer bit-field, all either signed or not, or an object of enumeration type, may be used in an expression wherever an
2013-07-23 21:52:03
519
转载 栈空间和堆空间
一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。 2、堆区(heap):一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,值得注意的是他与数据结构的堆是两回事,分配方式倒是类似于数据结构的链表。 3、全局区(static):也叫静态数据内
2013-07-08 22:15:34
486
转载 C++ sizeof 使用规则及陷阱分析
1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value o
2013-07-08 17:58:13
426
转载 [C++]字节对齐与结构体大小
说明: 结构体的sizeof值,并不是简单的将其中各元素所占字节相加,而是要考虑到存储空间的字节对齐问题。这些问题在平时编程的时候也确实不怎么用到,但在一些笔试面试题目中出是常常出现,对sizeof我们将在另一篇文章中总结,这篇文章我们只总结结构体的sizeof,报着不到黄河心不死的决心,终于完成了总结,也算是小有收获,拿出来于大家分享,如果有什么错误或者没有理解透的地方还望能得到提
2013-07-08 15:05:10
383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人