重要思想继续: 1.对象的创建和存在时间:对象需要的数据位于哪儿?如何控制对象的“存在时间”呢? 方法一,C++认为程序的执行效率是最重要的,所以允许程序员为获得最快的运行速度,自行决定存储以及存在时间——只需将对象放置在堆栈或者静态存储区域,同时牺牲灵活性,因为在编写程序时必须准确知道对象数量、存 ...
分类:
其他好文 时间:
2016-10-27 12:52:06
阅读次数:
165
1.栈是先入后出,2.栈保存了一个函数调用所需的维护信息,函数参数,函数返回地址,局部变量,函数调用上下文。没有栈就没有函数,没有局部变量。3.栈保存了一个函数调用所需的维护信息(函数参数,函数返回值地址,局部变量,函数调用上下文)4.栈上的数据在函数返回后就会被..
分类:
其他好文 时间:
2016-10-14 00:37:50
阅读次数:
172
有错误请指教 1.文字常量区域 存储在 代码段 不能被修改 2.全局变量 静态存储区 存储在 数据段 3.函数中的局部变量 存储在 栈中 4.malloc new 中的变量存储在 堆中间 测试 函数 转载 http://blog.csdn.net/u010070526/article/details ...
分类:
编程语言 时间:
2016-10-06 17:22:28
阅读次数:
155
1. 内存分配方式 1.1 内存分配的几种方式 (1) 从静态存储区域分配。 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 (2) 在栈上创建 ...
分类:
其他好文 时间:
2016-10-04 01:38:30
阅读次数:
313
内存中的三大存储区域:栈、堆、静态存储区域 new关键字:new帮助我们做了三件事:1)在内存中开辟一块空间(开辟内存空间)2) 在开辟的空间中创建对象3)调用对象的构造函数进行初始化对象所以构造函数的修饰符必须为public 作用:1)创建对象2)隐藏父类那里继承过来的同名成员。隐藏的后果就是子类 ...
今天笔试遇到的一道题,我当时写的new delete malloc free,但感觉有点文不对题。回来搜了下,现总结如下: 栈:程序在执行的时候分配,如函数中的局部变量,执行完函数后自动释放相应的内存。 堆:动态内存,用new 或malloc分配,需手动对其进行释放。 全局/静态存储区:程序在编译的 ...
分类:
编程语言 时间:
2016-09-20 22:34:27
阅读次数:
173
一、一个由c/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放(malloc/free, new/delete),若程序员不释放,程序结束 ...
分类:
编程语言 时间:
2016-09-20 11:55:18
阅读次数:
223
常量存储总结局部变量、静态局部变量、全局变量、全局静态变量、字符串常量以及动态申请的内存区 1、局部变量存储在栈中2、全局变量、静态变量(全局和局部静态变量)存储在静态存储区3、new申请的内存是在堆中4、字符串常量也是存储在静态存储区 补充说明:1、栈中的变量内存会随着定义所在区间的结束自动释放; ...
分类:
编程语言 时间:
2016-09-18 10:08:32
阅读次数:
161
1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置 ...
分类:
其他好文 时间:
2016-09-17 00:22:40
阅读次数:
194
static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式: static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。 1、引出 ...
分类:
编程语言 时间:
2016-09-11 11:32:15
阅读次数:
139