内存
文章平均质量分 73
娃哈哈纯净李
这个作者很懒,什么都没留下…
展开
-
new和malloc的区别
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.原创 2015-04-20 21:24:37 · 399 阅读 · 0 评论 -
C++ 虚函数表解析
转自:http://blog.csdn.net/haoel/article/details/1948051前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:转载 2015-04-15 22:01:20 · 500 阅读 · 1 评论 -
c++ 虚继承详解
#include using namespace std;class A{ virtual void f(){};};class B : public virtual A{ virtual void f(){};};class C: public virtual A{ virtual void f(){}; virtual void t(){转载 2015-04-16 22:17:51 · 542 阅读 · 0 评论 -
C++虚拟继承例子
代码如下:#includeusing namespace std;class Base {public: void fun(){cout<<"Base::fun"<<endl;} virtual void f() { cout << "Base::f" << endl; } virtual void g() { cout << "Base::g" << endl; }原创 2015-04-16 22:19:40 · 580 阅读 · 0 评论 -
union中的内存分配
在union联合体中,所有的变量是公用一个内存的,即以最大内存变量作为整个union的内存空间进行申请。同时也服从内存对其的策略,即如果同时又一个char和一个int类型,则占据4个字节的内存空间,最低字节就是char所对应的值,而如果单纯的只给char变量赋值,则int型变量的高三个字节是未定义的。#includeusing namespace std;union CC{ int原创 2015-04-21 17:10:34 · 4527 阅读 · 0 评论 -
c/c++内存分配与内存对齐全面探讨
不明白内存分配和指针的可以看看,其实这本是我们老师留的一个操作系统科技小论文作业,不知道写什么,干脆把以前收藏的经典C内存分配的文章整理并修改了一下。 此文章有2个用处,1:这是个小论文,格式完整,大家可以复制回去交作业;2:这是整理的经典C内存分配小教程(也加了些我自己的观点),不明白内存分配的可以看看。还有很重要的一个问题: 这篇文章引用的很多内容我也不知道究竟是出自转载 2015-04-17 10:50:33 · 431 阅读 · 0 评论 -
C++中new和delete
New运算符1、new表达式:当我们使用一条new表达式时:string *sp=newstring(“a value”);string *arr=newstring[10];实际上执行了三步操作。第一步,new表达式调用一个名为operatornew(或者operatornew[])的标准库函数。改函数分配一块足够大的、原始的、未命名的内存空间以便存储特定类型的对象(或者对象原创 2015-05-04 22:52:33 · 622 阅读 · 1 评论 -
浅议 Dynamic_cast 和 RTTI与虚函数表的关系
浅议 Dynamic_cast 和 RTTI写这篇博文的目的是,记录学习过程。对于问题要较真,在解决这个问题中会学到很多,远远超过自己期望,锻炼思维,享受这个过程。问题: Static_cast 与 Dynamic_cast的区别来自书本上的解释: 用 static_cast ( expression ) 1. static_cast(expression) The转载 2015-05-06 10:10:33 · 2975 阅读 · 0 评论