当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 在考试或者做题的时候,经常遇到这类问题,出题的老师就是爱在这点上面钻牛脚尖,那就是自增自减操作的组合运算,我个人认为,考这样的题,没多大意思,因为各个编译器不同,出来的结果也不同,而且这样有一种误导,而失去了语言学习的本质,但是我们还是得面对……悲哀啊。
 

 

 ·php5的对象模型[3]--定义一个类    »显示摘要«
    摘要:当你声明一个类,你需要列出对象应有的所有变量和所有函数—被称为属性和方法. 3.1.1中显示了一个类的构成. 注意在大括号({})内你只能声明变量或者函数. 3.1.2中显示了如何在一个类中定义三个属性和两个方法.3.1.1 class name extends another class { access variable declaration access function declaration } 3.1.2 //定义一个跟踪用户......
 ·php5的对象模型[5]--对象复制    »显示摘要«
    摘要:第五节--克隆php5中的对象模型通过引用来调用对象, 但有时你可能想建立一个对象的副本,并希望原来的对象的改变不影响到副本 . 为了这样的目的,php定义了一个特殊的方法,称为__clone. 像__construct和__destruct一样,前面有两个下划线.默认地,用__clone方法将建立一个与原对象拥有相同属性和方法的对象. 如果你想在克隆时改变默认的内容,你要在__clone中覆写(属性或方法).克隆的方法可以没有参数,但它同时包含this和......


自增操作的反汇编分析

在考试或者做题的时候,经常遇到这类问题,出题的老师就是爱在这点上面钻牛脚尖,那就是自增自减操作的组合运算,我个人认为,考这样的题,没多大意思,因为各个编译器不同,出来的结果也不同,而且这样有一种误导,而失去了语言学习的本质,但是我们还是得面对……悲哀啊。下面我用汇编来分析一下这个例子:

【相关文章:BCB中封装VC控件CodeSense

#include "stdio.h" 【扩展阅读:HtmlEditor在线编辑器V3.0提

【扩展信息:蛙蛙推荐:一点准程序员工作经验总结

int main()

{

 int i=0,n = 0;

 n = (++i)+(++i)+(++i);

 printf(" n = %d\n",n);

 printf(" i = %d\n",i); 

         return 0;

}

我在vc++.net下编译通过,结果为:n=9,i=3

让我用studio2003.net的调试器来分析一下:

相关反汇编代码如下:(各语句后面有我的注释)

int i=0,n = 0;

00411a4e  mov         dword ptr [i],0     ;i初始化为0

00411a55  mov         dword ptr [n],0     ;n初始化为0

 n = (++i)+(++i)+(++i);


...   下一页
    摘要:第七节--类的静态成员类的静态成员与一般的类成员不同: 静态成员与对象的实例无关,只与类本身有关. 他们用来实现类要封装的功能和数据,但不包括特定对象的功能和数据. 静态成员包括静态方法和静态属性.静态属性包含在类中要封装的数据,可以由所有类的实例共享. 实际上,除了属于一个固定的类并限制访问方式外,类的静态属性非常类似于函数的全局变量我们在下例中使用了一个静态属性counter::$count. 它属于counter类,而不属于任何counter的实例.......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE