比如:一个函数内定义的局部变量就是分配在栈上的,函数退出时,移动栈指针,这些分配的临时变量的空间就收回了。
解决方案 »
- 抛砖引玉 - 位运算优化再续
- vc开发过程中如何写开发文档?
- 各位大虾请问,在VC中对于一个编译成功且已经生成exe文件,在源代码中调出它的各个控件如何重新改变他的功能!
- 为什么PGP的口令输入框中无法用SPY++监控其接受的鼠标和键盘消息?
- 高手们我都不行了,实在条不出来了,请指点!!!
- 无从着手,希望大虾能够解决!!!!
- stroustrup的The C++ Programming Language上的第一个例题,困惑呀???帮忙!
- 请问用createfile这个API函数打开硬盘上一个已存在的文件,文件名这个参数应该是什么格式的?
- 为何 elementFromPoint(pt.x,pt.y, &pElement); 获取不到 element
- 怪!怪!怪!
- 救命呀!!关于IE的控制问题!!
- 对话框关不掉!!!!!
void OnButtonDown(){
CDC dc; //声明了一个CDC类的实例,入栈。
....... .......
} //超出了dc的作用域,出栈(系统自动完成,无须手工删除)
与之类似的存储结构还有堆(heap)索性一起讲了。堆也是一种数据结构。可能你会听说过他。凡是自己手工申请的存储空间,都由操作系统在堆上分配。比如以前的malloc()函数。与栈不同的是,如果类的实例是在堆上声明的,则必须在超出对象作用域的时候手工将其删除,否则会造成内存泄露,这是程序员应该绝对避免的。更详细的还请翻阅《数据结构》课本。
呵呵,以上一半是我看书得来的,还有是我自己领悟的,不知道对不对,还请各位大虾批评指正。