C/C++
tianxiaoqi2008
这个作者很懒,什么都没留下…
展开
-
解释执行与编译执行
A、解释程序 所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入转载 2011-11-09 12:43:32 · 263 阅读 · 0 评论 -
全局变量、静态全局变量、静态局部变量和局部变量的区别
变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。 按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。 按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。 全局转载 2011-12-19 16:47:00 · 278 阅读 · 0 评论 -
c++内存中字节对齐问题详解
一、什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数转载 2011-12-21 17:00:54 · 344 阅读 · 0 评论 -
深入理解C++的动态绑定和静态绑定
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误,需要理解四个名词: 1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。 2、对象的动态类型:目前所指对象的类型。是在运行期决定的。 对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例: class B { } class转载 2012-01-13 19:45:41 · 243 阅读 · 0 评论 -
引用与指针的区别
引用,一个变量的别名,为什么引入别名呢?原因是我们想定义一个变量,他共享另一个变量的 内存空间,使用别名无疑是一个好的选择。变量是什么?是一个内存空间的名字,如果我们给这个 内存空间在起另外一个名字,那就是能够共享这个内存了,引用(别名)的由此而来。 指针,指向另一个内存空间的变量,我们可以通过它来索引另一个内存空间的内容,本身有自己的 内存空间。 二者区转载 2012-01-19 11:38:24 · 486 阅读 · 1 评论 -
组合和聚合是有很大区别的
组合和聚合是有很大区别的,这个区别不是在形式上,而是在本质上: 比如A类中包含B类的一个引用b,当A类的一个对象消亡时,b这个引用所指向的对象也同时消亡(没有任何一个引用指向它,成了垃圾对象),这种情况叫做组合,反之b所指向的对象还会有另外的引用指向它,这种情况叫聚合。 在实际写代码时组合方式一般会这样写: A类的构造方法里创建B类的对象,也就是说,当A类的一个对象产生时,B类的对象随转载 2012-01-19 11:15:35 · 550 阅读 · 0 评论 -
到底什么时候用指针或是引用
1.问题提出: 当一个类的对象作为实参数传递时,使用值传递和引用传递有什么区别? 比如: DateType ExampleFun(CString &strFileName,...)与 DateType ExampleFun(CString strFileName,...) 解答之前,我们先来看2个基本的概念:形参和实参。 ->通俗的讲:形参是形式上的参数,实参是实转载 2012-01-19 15:55:40 · 1254 阅读 · 0 评论 -
iomanip
在c++程序里面经常见到下面的头文件 #include io代表输入输出,manip是manipulator(操纵器)的缩写(在c++上只能通过输入缩写才有效。) iomanip的作用: 主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文件,就像C里转载 2012-01-05 14:18:24 · 450 阅读 · 0 评论