• 您的位置我爱Aspx >> VC.Net >> <b>从赋值运算符的默认实现中获益(第二部分)</b>
  • <b>从赋值运算符的默认实现中获益(第二部分)</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:58  关键字:
  • 从赋值运算符的默认实现中获益(第二部分)

    在本文的第一部分,我们向你演示了如何从赋值与一元运算相结合的运算符(例如+=、又如*=等)的默认实现中获益。在这一部分,我们将向你演示如何轻松地创建with_default类以及这个类是如何从赋值运算符的默认实现中获益的。

    with_default< type [,defaultValue]>类运用于将有内建类型(如int、long等等)地数据成员在其构造时赋给默认值。注意内建类型的默认构造函数并没有初始化变量。下面是一个例子:

    struct Sum

    {

    Sum()

    { /*你并不知道变量‘m_nSumSoFar’的值是多少!!!*/ }

    private:

    int m_nSumSoFar;

    };

    在使用with_default类时,你要避免发生上面这样的错误。使用with_default< type [,defaultValue]>涉及到的语法很简单,如下所示

    Type是你要给其赋值变量的类型。

    DefaultValue是赋值给该变量的值(默认为‘type()’)。

    下面是更正后的代码:

    struct Sum

    {

    Sum()

    { /* 变量‘m_nSumSoFar’自动设置为0*/ }

    private:

    with_default&lt; int&gt; m_nSumSoFar;

    };

    现在,你应该认识到了with_default< type>的重要性,你可能也想如何把它用到你的项目上。为此,你需要运算符+=、-=等等。

    下面是为with_default的代码和如何使用它的例子:

    #include "operators.h"

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>正确地调用字符串相关的函数(第一部分)</b>
    下一篇:<b>从赋值运算符的默认实现中获益(第一部分)</b>
  • 相关文章