不管什么时候运行一个程序,都是首先把它装入(一般从磁盘装入)计算机内存。因此程序中的所有元素都驻留在内存的某处。内存一般被布置成一系列连续的内存位置;我们通常把这些位置看做是8位的字节,但实际上每一个空间的大小取决于具体机器的结构,一般称为机器的字长(word size)。每一个空间可按它的地址与其他空间区分。
静态与动态内存分配的两个主要区别是:
1.静态对象是有名字的变量,我们直接对其进行操作。而动态对象是没有名字的变量,我们通过指针间接地对它进行操作。
2.静态对象的分配与释放由编译器自动处理。程序员需要理解这一点,但不需要做任何事情。相反,动态对象的分配与释放,必须由程序员显 ...
通常而言,并不是把模板编译成一个可以处理任何类型的单一实体;而是对于实力化模板参数的每种类型,都从模板产生出一个不同的实体。
用具体类型代替参数的过程叫实例化(instantiation)。
模板被编译了两次:
实例化之前,先检查模板代码本身,查看语法是否正确;在这里发现错误的语法,如遗漏分号等。
实例化期间,检查模板代码,查看是否所有的调用都有效。在这里会发现无效的调用,如该实例化类型不支持某些函数调用等。
struct在c程序中的应用如下:
将一般作为一个整体来使用的数据元素集合在一起;
从函数返回多个数据元素;
构造链式数据结构;
映射数据在硬件设备、网络链接和存储介质上的组织方式;
实现抽象数据类型;
以面向对象的方式编程。
在c程序中,指针一般用来:
构造链式数据结构
引用动态分配的结构
实现引用调用(Call by reference)(避免复制的开销)
访问和迭代数据元素
传递数组参数
引用函数
作为其它值的别名
代表字符串
直接访问系统内存
- 浏览: 15254 次
- 性别:


- 详细资料
搜索本博客
我的相册
vmMap
共 6 张
共 6 张
最近加入圈子
最新评论
-
无意中网上看到一篇关于ge ...
姜太公 写道可惜它的给关键字等加的颜色太难看。还有很多重复的gedit失败的地方 ...
-- by seen -
无意中网上看到一篇关于ge ...
可惜它的给关键字等加的颜色太难看。还有很多重复的
-- by 姜太公 -
无意中网上看到一篇关于ge ...
看到了,真不错阿
-- by theone -
关于Python和Java结合的新 ...
认同楼主的意见。如果有遗留系统,将其功能封装起来对系统新的部分提供服务,是比较稳 ...
-- by cloudeye -
关于Python和Java结合的新 ...
就这么个简单的功能还搞上ICE了?管道,标准IO通讯也成
-- by dennis_zane






评论排行榜