zoukankan      html  css  js  c++  java
  • 二级概念题

    1. 内联函数:

    计算机在碰到循环或者分支语句时,将跳过一些指令,向前或者向后跳到特定的地址。常规的函数调用也是程序跳到另一个地址,并在函数结束时返回。这样来回跳跃并记录跳跃位置意味着使用函数时,需要一定的开销。

    而内联函数则将编译代码与程序代码“内联”起来了,也就是说,编译器将使用相应的函数代码替换函数调用。程序无需跳到另一个位置处执行代码,再跳回来。

    也就是用空间代价去换取时间上节省的好处。

    使用时必须在函数声明前,和函数定义前加上关键字 inline

    注意递归函数不能写成内联函数。

    类内部的函数不用加inline也被视为内联函数。在类中定义的成员函数全部默认为内联函数。可以显示加上 inline 标识符,或者不加。在类中声明的成员函数,如果没加inline,在类外定义该成员函数时加了inline,该成员函数也为内联函数。

    1. 引用变量:

    C++新增了一种复合类型——引用变量。引用是已定义的变量的别名。别名和原名等价,可以交替使用。但引用变量的主要用途是用作函数的形参,通过将引用变量作参数,函数将使用原始数据而不是其副本。这样除了指针以外,引用也为函数处理大型结构提供了一种非常方便的途径。

    理解上这样去理解,就像声明中char *指的是char的指针一样,int&指的是int的引用。

    按引用传递和按值传递也是不一样的,区别就是这里了。

    注意:引用变量必须在声明的时候初始化,引用变量和原名的地址一模一样

    1. 函数重载:

    函数重载是C++在C上新增的功能,也叫做函数多态。

    函数重载的关键是函数的参数列表——也称为函数特征标,与函数返回值的类型没有关系。

    若两个函数的参数数目和类型相同,参数的排列顺序也相同,则它们的特征标相同。

    匹配函数时,并不区分const和非const变量。

    1. 函数模板:(将同一种算法用于不同类型时)

    是通用函数的描述,即使用泛型来描述函数。比如交换俩个double,改成int就需要重新复制一边代码,并且把里面的int全部换成double,这个就很麻烦。而函数模板就很好的解决了这个问题。

    template <typename AnyType>

    void swap(AnyType &a, AnyType &b)

    {

           AnyType temp;

           Temp=a;

    A=b;

    B=temp;

    }

    其中template 和typename/class是必须的,AnyType是自己定义的类型。

    需要交换int的函数时,编译器将按模板模式创建这样的函数。

    注意:

    使用的时候,先将template <typename AnyType>

    定义在程序头部,之后给出函数定义或者函数原型,在程序中使用的时候,直接就调用该函数就行,编译器会自动根据数据类型而正确使用该模板。

    另外,函数模板不能缩短任何可执行程序,就像以手工方式定义了这些函数一样,最终的代码不包含任何模板,而只包含了为程序生成的实际函数。

    函数模板也可以进行重载。

    1.  划分等价类
    2. ▪ 边界值分析法
    1. ▪ 错误推测法
    2. ▪ 因果图法
    3. ▪ 判定表组成法
    4. ▪ 正交试验设计
    5. ▪ 场景法
    这篇文章,是又一个故事的结束...
    lazy's story is continuing.
  • 相关阅读:
    vb 动态添加 timer
    sruts2 国际化 规范
    vb 创建xml
    robots
    android 桌面斗地主
    QT 平台
    云软件 Eucalyptus云
    android intentfilter
    android 布局相关
    Zend Studio PHP
  • 原文地址:https://www.cnblogs.com/Hello-world-hello-lazy/p/14087022.html
Copyright © 2011-2022 走看看