您的位置:首 页 > 科幻小说 > 网游之冰封影魔 > 网游之冰封影魔目录 > 章节目录 0156 励志(第1页/共2页)
返回目录 | 加入书签 | 推荐本书 | 收藏本页

网游之冰封影魔 章节目录 0156 励志(第1页/共2页)


****3*6*0**小**说**阅**读**网**欢**迎**您****

请用户自行鉴定本站广告的真实性及其合法性,本站对于广告内容不承担任何责任。

    上面这个例子是和return相关的死代码检测,不过还有其它一些死代码检测,比如:

    iffalse:

    prie"

    或者:

    whiletrue:

    ...//代码块没有break

    return//永远执行不到

    或者:

    foriinl:

    break//或ue

    prie"

    这类检测很多编译器也都实现了,其实就是对各种情况分别做判断

    larva在流程分析上做的还有一点不够好的是变量初始化和使用的分析,比如:

    funcf():

    printa

    a=123

    根据语法规定,a是一个局部变量,若是python,则会在运行时查出错误,但是larva为了运行效率,省掉了这一步,因此规定,所有变量(larva不像python可以动态增减变量,所以编译期可以完全确定)的初始值是未定义的(但实际实现中,一般是赋一个合适的初值,比如nil),这点和其它语言有类似之处,比如C代码:

    inta;

    printf("%d",a);

    a=123;

    只不过,C编译器会对这个流程做分析,提示错误或告警。但这种分析往往是基于代码前后位置的,有时候程序员可能写出语法和语义上都没啥问题的,但编译器比较难分析的代码,比如:

    foriinlist:

    ifi==1:

    printa

    else:

    a=123

    若list是[0,1],则这段代码是没啥问题,由于循环和判断,a是先赋值再打印的,但是编译器比较难检测这种情况,因为根本不知道list是什么内容,但有的时候又的确会存在这种代码,所以最好的处理方式也只能是给一个警告了,程序员可以在for之前给a赋值一个nil来消除这个警告,虽然这个赋值没什么用

    有人可能会说,只要所有变量都初始化就行了,这话其实只说对了一半,正确的说法是,只有所有变量都用字面量或按执行顺序有依赖地初始化,才能规避初值未定义的问题,比如这个代码:

    a=b

    b=a

    a和b的确“初始化”了,但它们互相依赖了,甚至对于这种代码:

    a=a

    其实写了等于没写,虽然现代C++编译器已经尽可能检查这类问题,但也有漏的,比方说在vs中的这个代码(a是局部变量):

    Aa=a+1;

    A是一个class,实现一下拷贝构造和operator+(int),就

    可以看到,这行在a初始化之前就调用了operator+(int),是可能出问题的,而且编译器没有警告

    如果是上面两个变量的例子,改成这样:

    inta=1;

    intb=a;

    如果执行顺序如此,是没啥问题,但如果这两句执行顺序不固定,就可能有问题,比如这两句在两个不同模块,和运行时模块加载和初始化顺序有关,就可能有问题了。

    小玲,我这样写的话你还要这样解释,你能不能听懂这个意思啊?其实这个代码是非常简单的,这个也是我们以后在服务器编程里面所面临的一些代码。

    我看到了一点眉目啊,但是也不是完全很懂,所以这后面的话我也要像类似的一些代码的话,也要自己学习啊,就可以了。

    你也在刚学的话就可以看懂一些,那证明的话,你的基础还是有的,你已经超过了绝大部分人,因为我们知道c++语言是特别难的,他就是针对一个服务器编程的一个那个,其实我们还有一些都就是说游戏架构的一些引擎之类的语言的话,到时候也要学习一部分的。

    你这样说来的话,我一听我就怕了,我们还有游戏引擎,这是我的我们女孩子是不是没必要学习啊,所以说这个是以后的话我要学习啊,美工之类的。

    你学习每共时时间已经错过了,要学的话刚开始就要开始学了,这个时候时间点的话再去学一个新的知识的话也没那么快,你c++有基础的,你怕什么?人家都说了大学人有可能读4年的话,C++都没有入门都有可能,所以说这个是一个学起来就学入门了,就是非常厉害的一个。

    唉,能听到你的夸奖的话,我真的是很欣慰啊,所以说但是我不能就是说尽因为你一句夸奖的话我就飘飘然了,我还是要放下心来好好的学习呢。

    肯定的啦,像现在包括其实所有人都是要学习的,每个人都不是开刚开始就是天才,他是通过不停的后后期的努力练就的,还有这一点的话你一定要虚心起来,也不是说完全说你的美工就没办法学习,但是毕竟美工的话,你如果真的感
>>>点击查看《网游之冰封影魔》最新章节