Heap与stack const关键字的作用。
2016-06-12 20:10
162 查看
Heap与stack的差别
Heap是堆,stack是栈。Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。Stack空间有限,Heap是很大的自由存储区C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行
const关键字?有哪些作用
const关键字至少有下列n个作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。
Heap是堆,stack是栈。Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。Stack空间有限,Heap是很大的自由存储区C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行
const关键字?有哪些作用
const关键字至少有下列n个作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。
相关文章推荐
- 迦瓦栈队 团队第五周项目总结
- Java组合和继承的区别
- 多线程——NSOperation
- php正则匹配大全
- Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
- 视觉SLAM中的数学基础 第四篇 李群与李代数(2)
- 数据库快照的建立,并使用它恢复原数据库
- Google体系地图纠偏算法
- aaaaaaaaaaaaaaaaaaaaaaa
- hdoj-1098-Ignatius's puzzle
- SpringMVC学习--参数绑定
- SICP 习题2.20 same-parity
- 概念区分
- GDB的使用以及使用gdb来调试caffe代码
- 深搜+回溯 POJ 2676 Sudoku
- 位深度1的图片操作
- js实现四叉树算法
- Python爬虫第一步之获取网页源代码
- 垃圾收集算法
- Web Service是什么-作者: 阮一峰