体育在线365手机版_365bet体育在线赌场_体育外围365重新载入中...

如果体育在线365手机版_365bet体育在线赌场_体育外围365没有重新载入. 请点这里.

Redirecting page to

If the page is not fully redirected. 请点这里.

由一个有一定C++基础的胖子,对web一窍不通的幸酸猥琐的学习过程。
在此,发现C++学的不到家,于是再次踏上C++的钻研之路。同样web 我也会好好钻研

加入
创建人
Opeartors
最新话题
关于机器码到汇编的 初级探讨。

   要做一个单片机的8位的 机器码反汇编。发现多年以后很多东西都忘了。

   开始我思考的是,直接给每条指令写一个函数,用map来搜寻,相对应的指令。但是一条指令所执行的机器码有很多种,这样查找就必须用正则匹配后,进行传入参数。

   这时候我又思考,能不能把正则也装入map里面呢?但是这地方我不想做过多的探讨。这条路感觉是设计的邪路。但是这种方式是可以应对16位32 64位的。但是目前这种东西工程浩大。

   然后我就采用另外的一种方式。为什么我不用穷举法,把所有的结果全部装入表中,利用查表进行转换呢?

  8位的单片机,但是他的寻址是0000到FFFF。也就是F*F*F*F 的组合方式,也不多嘛。也就65536种。

  好吧,但是这张表有多大?初始化需要多长时间??于是今晚我又做了测试。我用字符串随机组合了 7万条 key val 表。

 内存占用情况是在15M到30M之间, 是可以接受的范围之内的。初始化的时间在debug下8秒左右。在release版本下,不到1秒、

然后我把这张表,全部遍历查找,每个都进行find(),时间在debug下跑了几分钟没结果。但是release下,3秒便可全部把7万条记录遍历完毕。

最终得出的结果是:这个算法是可行的,速度也比较客观,几乎~~没有等待时间。

 

总结下:这种穷举的方法,不错,而实际算法的时间的计算,不如计算机实际运行算的准确。

 

大体流程如下,初始化的时候,初始化这张表。当然这张表,是可以写入文件中,程序运行时候,可以直接读取文件进行初始化MAP,也可以在内部,用代码,从0XXX到FXXX进行初始化。初始化之后,为此表设计查找函数,并且输出结果。这样核心部分算是完成。

 接下来,可以选择一个UI,MFC即可。用的是VS2013开发,可能运行程序的时候需要安装VC2010运行库,甚至需要VC++2012运行库,这个就得提醒用户打补丁了。也可以,采用较低版本的VS进行编译,舍弃使用C++11代码。今天暂时写到这。

152 0
艾达关于面相过程与面相对象的天方夜谭(猜想)

 什么是面相过程?什么又是面向对象?

这个要从“软件危机“说起:以下引用某介绍;

 在60年代的软件开发行业,随着所开发的软件复杂度不断提升,使用原先的方法开发出来的软件终于不能满足需要,其所出现的问题是层出不穷,而且由于缺少必要的文档,人们又没办法寻找定位出其中的问题所在。更有甚者,就算是找出其中的问题,但由于软件设计的杂乱不堪,其修改起来也是叫人头大...于是,终于爆发了所谓的软件危机。

然后我们介绍下腊排骨

腊排骨是美味啊。那滋味真爽YY。

腊排骨中国某地方传统食材。取自猪排骨,在腊月时节,用盐花椒等香料入味腌渍,用当地独特的气候,风干而成。风干后,在阴凉干燥的地方保存。过年的时候拿出来待客,是一道不可或缺的美味。

下面我就要用腊排骨说说 面相过程与面向对象了。

怎么去做一道腊排骨呢?

从仓库中,取出够量的腊排骨,用温水洗干净,用刀剁成块,放入一个器皿中,加入水,生姜,熬制,等骨头都熟了的时候,看是做红烧排骨,还是排骨莲藕汤。

上面是一个过程,如果用编程来解决这些问题的话,就要每一步进行处理。最后输出腊排骨成品。

但是如果做腊排骨的步骤增多,或者我们不做腊排骨了我们要做腊肉。这个过程就要重新的去编写。把处理腊排骨看作是面相过程。如果过程繁多复杂。编写的工作又没有进行文档记载。在执行的时候很容易造成混乱,或者付出很大代价去处理。

那么面向对象呢?

当然我们可以把腊排骨看作是一个对象。但是对于上面的这一系列处理腊排骨的过程而言,腊排骨也只是一个内部的成员。我们所需要的是一个可以处理腊排骨的对象。

而并不是编写一个腊排骨,仅仅把腊排骨抽象。这样似乎感觉一片空白。

 我们需要的是 一个处理腊排骨的对象。在上面我提到了腊肉,这个我是有用意的看下面。

我们需要一个对象处理腊排骨,它可能是一个机器,也可能是一个团体,由一些杂工组成。也可能是其他的”对象“。

现在假设这个对象是机器,这个机器可以根据你给入的腊排骨,做出一道鲜美的腊排骨成品来。它会更具客人的需求,比如来2盘红烧腊排骨。

它就会从仓库中,取出2盘腊排骨的所需的量,进行加工制作,制作出红烧腊排骨。取出腊排骨是它的功能方法,加工也是他的功能方法。而你是一个主人,你需要这样的一个机器来做菜。你只需要输入指令,它就会给出一道鲜美的菜。

 如果老板说,拿出这个2份腊排骨的食材量,它就会去仓库里面去取出2份腊排骨的量。它会检查仓库里面的量,如果够,排骨没问题。它就返回一个OK,告诉主人取来了。不够的话,就会说NO,食材不够了,提醒主人增加存货。

接下来老板只需要下达命令,他就会完成工作,比如食材不够让它添加。这暂时不说了。

如果把这个对象看作是一个团体,有几个人,一个人负责仓库收纳,一个人负责处理(洗净啊,按要求切割啊),一个人负责炒菜啊。再来一个小管家,来执行主人的命令。

那么这个团体就是我们要编写的对象。

而面相过程,对于如此之多步骤而言,是非常繁复的,而且有的时候还需要适当的增减过程,这就对这个过程产生一定的影响,复杂度非常高。

而对于腊肉呢?就得需要一个新的过程,新的方法。似乎处理起来又要面对如此之多步骤。

而这个对于面向对象来说,简单多了。

澳门365bet官网娱乐平台现在我们不只是要做腊排骨了,我们还要做腊肉,我们继续把这个团体看作是一个对象,现在我们给这个团体更新,只不过我需要这个仓库保管员,不再是保管腊排骨,还要保管腊肉,处理的人员能够处理腊排骨和腊肉,炒菜的会做腊排骨和腊肉。这样就这个团体就升级了。应该是之前的团体的衍生,之前的团体是他们的师父,而新团体将获得新的方法,处理更多的食材。

 主人可以很容易的,根据自己目前所需来调整升级自己的团体,或者使用新的机器。这就是面向对象。

而单一的把一件事的每个步骤,进行分工处理,就是面向过程。

当然,我们可以把面相对象看作是面相过程的分类总结。而这分类总结只是对象自身的方法。与使用者无关,使用者只需要关心,这个对象能干什么。怎么操作他就OK。

 

好了,今天就写到这了。谢谢耐心阅读,并指正错误的人。

 

 

 

 

75 0
C++ 查询程序设计的浅显深入实战过程1(持续更新)

 以下内容摘选与《c++primer》

我们的程序将允许用户读取任意的文本文件,然后允许用户从该文件中查找单词。查询的结果是该单词出现的次数,并且在那一行。行数是从第一行到结尾顺序排列。如果程序在一行出现多次,程序只显示该行一次,并且列出次数。按照升序排列。

 

设计程序的一个良好习惯是首先将程序所涉猎的操作列出来:

1> 该程序必须明确指出要处理文本文件的名字。程序将储存该文件的内容,输出要查找单词所在行的详细信息

2>他必须将每一行分解为各个单词,并记录每个单词所在的行。在输出行号的时候,应该保证升序排列,并且不重复

3>对特定单词的查询,必须返回所有出现该单词的行号

4>输出单词的行文本时,程序必须能根据给定的行号从该文件获取该行

 

数据结构

我们将用一个TextQuery的类,再加上几个特定的容器配合,就可以相当巧妙实现

①vevtor  来储存整个文件的副本。每一行都是vector的一个string元素

②将每个单词的行号储存在set容器中 使用set 就可以确保每行只有一个条目,且是升序排列

③使用map讲每个单词与一个set容器对象关联起来,该set容器对象记录此单词所在行号

综上所述,我们的TextQuery 将有2个数据成员:输入成员的vector对象,以及一个map对象操作。该map对象关联每个输入单词以及所在行号的记录

操作

对于类,必须要有良好的接口

需注意,在实际应用中如果复制代价太大,我们就得重新考虑其他办法。

第134是类用户使用的方法,任务2是类内部完成的方法,将这4个任务映射为类成员函数。

那么这个类应该这样来写。提供3个public函数

丶read_file 成员函数  其中一个形参为ifstream&类型对象。该函数每次从文件中读取一行,并且保存在vector对象中。输入完毕后,read_file讲创建关联每个单词的极其所在行号的map容器

丶run_query成员函数 形参为一个string类型对象,返回一个set对象,该set对象包含出现该单词是所有行的行号

丶text_line成员函数  其形参为行号,返回该行所对应的文本

run_qurery  与text_line 并不会修改对象,也不允许修改,因此定义为const函数

read_file函数的实现还得创建2个private函数帮助实现

丶store_file函数读入文件,并将文件内容存储在vector容器对象中

丶build_map函数将每一行分解为各个单词,创建map容器对象,同时记录每个单词出现的行号

 

好了分析了这么多,现在可以开始写代码。如果看到这片帖子的人,也可以有自己的想法,自己来写一个类出来,当然可能有更好的办法。期待你们。

这篇帖子暂时就到这了。等我把代码写好后,贴出来。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

66 0
测试BUG2


     First name:
  


Last name:


 
78 0
javascript 框架库 jQuery 学习

jquery是js的一个框架库。我学js跳度有些大,从种种迹象表明我很浮躁。因为感觉时间不够。

我之前没有任何js经验,直接跳到jquery确实有些大。

我对自己的作文有点要求。

1:精简

2:结构分明

3:要有有序的步骤。其实也可以归纳为第二点。

注明:所有学习资料的学习来自w3school中。

一 引入jQuery库

思考:从连接看引入的是google的api的库,至于目前到多少版本了,不得而知。而其中的框架种类应该不只是一种,这个是min.js

 这个是微软的“http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js

还可以自己下载到本地。

不过信谷歌得永生,我对微软有偏见。

二 学习用js编辑器

runjs.cn的编辑器,比较方便测试。所有代码皆在上面完成,是一款在线编辑的编辑器,还可以比较直观的显示内容。

准备工作完毕,开始学习。

在学习之前,关于js语法基础希望大家看完,有个印象,在实际的练习中来加深理解。

////////////////////////

 jQuery 函数是 $() 函数(jQuery 函数)。如果您向该函数传递 DOM 对象,它会返回 jQuery 对象,带有向其添加的 jQuery 功能。

jQuery 允许您通过 CSS 选择器来选取元素。

熟悉上面的操作,通过实际代码来了解。

  1. 练习一吧,这个包含的库,是本地文件。用的人注意
  2.  
  3.  
  4.  
  5.  
  6.  艾达学习实践
  7.   
  8.  
  9.  

  10.  
  • 基本上了解了jquery的调用办法。关于$()函数与内部函数。在接下来加深了解。

    $(this).- 隐藏当前元素

    $("p").hide() - 隐藏所有段落

    $(".test").hide() - 隐藏所有 class="test" 的所有元素

    $("#test").hide() - 隐藏所有 id="test" 的元素

    jQuery 选择器

    jQuery 元素选择器、jQuery 属性选择器、jQuery CSS 选择器

    思考题:$("p.intro") $("p#demo") $("[href]") $("[href='#']") $("[href!='#']") $("[href$='.jpg']") $("p").css("background-color","red");

    $("div#intro .head")

    小练习:当点击按钮的时候,有三行文本,其中2行背景颜色变为blue,第三行消失不见。

    1.  
    2.  
    3.  
    4.  RunJS 演示代码
    5.   
    6.     
    7.  
    8.  

       这是艾达演示的代码 

    9.  

         这是一个伟大的时刻,今天天气真的不错 

    10.  

        楼上说了一句话我并不是非常认同 

    11.  

        我马上要和大家说拜拜了 

    12.  
    13.  
    14.  
    15.  

    今天就了解到jQuery 选择器吧。还有其运用方法。当然在以后代码熟悉后,要学会组织代码。

    83 0