zoukankan      html  css  js  c++  java
  • 20151125小概念

    1.回调函数:

    Callback Function,通过函数指针调用的函数,对特定的事件或条件进行响应.

    如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针审美观点用来其所指向的函数时,我们就说这是回调函数.

    回调不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应.

    2.递归函数:

    函数直接或间接调用函数本身,称这个函数为递归函数.即函数的嵌套调用的是函数本身.

    递归函数不能定义为内联函数.

    任何函数之间不能嵌套定义,调用函数与被调用函数之间相互独立(彼此可以调用).发生函数调用时,被调函数中保护了调用函数的运行环境和返回地址,使得调用函数的状态可以在被调函数运行返回后完全恢复,而且该状态与被调函数无关.

    被调函数运行的代码虽是同一个函数的代码体,但由于调用点,调用时状态,返回点不同,可以看作是函数的一个副本,与调用函数的代码无关,所以函数的代码是独立的.被调函数运行的栈空间独立于调用函数的栈空间,所以与调用函数之间的数据也是无关的.

    函数之间靠参数传递和返回值来联系,函数看作为黑盒.

    递归调用有直接调用和间接调用两种形式.

    直接递归即在函数中出现调用函数本身.

    间接递归调用是指函数中调用了其他函数,而该其他函数却又调用了本函数.

    3.线程

    百度百科:线程,是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.

    线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有在,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源.一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行.由于线程之间的相互制约,致使线程在运行中呈现出间断性.

    线程也有就绪,阻塞和三种基本状态.

    就绪状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行.每一个程度都至少有一个线程,若程序只有一个线程,那就是程序本身.

    3.进程与线程

    推荐看阮一峰的讲解,生动形象

    http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

    4.user-select:

    语法:

    user-select:none | text | all | element

    默认值:text

    取值:

    none:文本不能被选择

    text:可以选择文本

    all:当所有内容作为一个整体时可以被选择.如果双击或者在上下文上点击子元素,那么被选择的部分将是以该元素向上回溯的最高祖先元素.

    element:可以选择文本,但选择范围受元素边界的约束.

    说明:设置或检索是否允许用户选中文本.

    • IE6-9不支持该属性,但支持使用标签属性 onselectstart="return false;" 来达到 user-select:none 的效果;Safari和Chrome也支持该标签属性;
    • 直到Opera12.5仍然不支持该属性,但和IE6-9一样,也支持使用私有的标签属性 unselectable="on" 来达到 user-select:none 的效果;unselectable 的另一个值是 off;
    • 除Chrome和Safari外,在其它浏览器中,如果将文本设置为 -ms-user-select:none;,则用户将无法在该文本块中开始选择文本。不过,如果用户在页面的其他区域开始选择文本,则用户仍然可以继续选择将文本设置为 -ms-user-select:none; 的区域文本;
    • 对应的脚本特性为userSelect

    5.回溯法

    百度百科:(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标.但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不能就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为"回溯点".

    基本思想:在包含问题的所有解的解空间树中,按照尝试优先搜索的策略,从根结点出发尝试探索解空间树.当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯.(其实回溯法就是对隐匿图的优先探索算法).若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索一遍才结束.而若使用回溯法求任一解时,只要搜索到问题的一个解就可以结束.

    用回溯法解题的一般步骤:1)针对所有问题,定义问题的解空间.2)确定易于搜索的解空间结构;3)以深度优先方式搜索解空间,并在搜索过程中用剪枝函数避免无效搜索.

  • 相关阅读:
    VS中注释的使用
    VS2010中:error C2471: 无法更新程序数据库
    VS2010 MFC中在对话框上添加工具栏以及工具栏提示信息并改变图标支持256色
    CToolBar与CToolBarCtrl以及CStatusBar 与CStatusBarCtrl的区别
    error C2664: “wcscpy”: 不能将参数 1 从“LPSTR”转换为“wchar_t *”
    VS2010 MFC中的Picture控件显示图像
    VS2010 MFC中屏蔽ESC和ENTER键关闭对话框的方法
    MFC中CImageList(图形列表控件)、CTreeCtrl(树形列表控件)的简单用法
    窗口类、窗口类对象与窗口 三者之间关系——孙鑫<VC++深入详解>
    VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法
  • 原文地址:https://www.cnblogs.com/sunshinegirl-7/p/5000395.html
Copyright © 2011-2022 走看看