C++
樱满月
这个作者很懒,什么都没留下…
展开
-
C++抽象类
一、定义.纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”virtual void funtion1()=0二、引入原因:1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔转载 2014-01-02 14:15:57 · 580 阅读 · 0 评论 -
C++容器类
C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。 1、vector连续存储结构,每个元素是在内存上是连续的;支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操转载 2014-01-03 10:08:57 · 687 阅读 · 0 评论 -
C++堆、栈、自由存储区、全局/静态存储区和常量存储区
原文地址:http://www.cnitblog.com/guopingleee/archive/2011/10/07/54599.html一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)—— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—— 一般由程序员分配释放,若程序员不释放,程序结束转载 2014-01-03 16:06:56 · 606 阅读 · 0 评论 -
C/C++中stack overflow问题
int a[1000][1000];最近在进行C++编程时,遇到的栈溢出问题。对于每个函数系统会分配1M的内存给函数栈,但是当你创建了较大的数组时,会发生溢出问题。尽量不要采用改变堆栈的最大空间大小的方案,治标不治本。解决方法有两种:1、用new方法,new方法本身会使用其他,不会占用栈内存。附带一下用new创建二维数组的方法。int *x = new[x][y] 是一个编原创 2014-03-12 10:08:43 · 1401 阅读 · 0 评论