zoukankan      html  css  js  c++  java
  • 【Primer】 阅读时发现的一些错误(第四版中文版)

    看书的时候看到书上一些表达有问题,网上搜了下是作者之前就做了勘误的地方或者一些理解起来有问题的地方,在这里记下来 ^_^。(书是第四版中文版)

    当然先发下英文勘误表的地址:

    http://ptgmedia.pearsoncmg.com/images/9780201721485/Errata/Lippman_0201721481_Errata.html

    -----------------------------------------

    Page 269

    表9-4中

         iter1 += iter2

       iter1 -= iter2        这是迭代器加减法的复合赋值运算:将iter1加上或减去iter2的运算结果赋给iter1。

    个人觉得这么做没有意思啊,网上查下发现是写错了。原书作者在英文版里做了如下勘误:

    Page 313: The description of the compound assignment operators in Table 9.4 incorrectly refer to iter2 as the right-hand operand; in each instance, iter2 should be replaced by n. The right-hand operand must be an integral value, not an iterator.

    简而言之就是写错了,应该是 iter += n iter -= n。两个指针相减再赋给一个指针实在没有什么含义。

    Page 276

    有段避免存储end操作返回迭代器的代码,这段代码虽然修正了可能出现的迭代器错误可是却是死循环。代码如下:

    while (first != v.end())
    {
          first = v.insert(first, 42);
          ++first;
    }

    这段代码的用途是用于修正之前的存储end迭代器所带来的迭代器失效的问题,可是循环体中first迭代器指向新插入vector容器最前端的那个元素,而后++意味着一直指向最早的那个元素。所以程序要么一开始就first == v.end()而不进入循环体,要么就一直处于循环状态。

     -----------------------------------------

  • 相关阅读:
    集合框架之Map学习
    集合框架之Set学习
    解决word2016鼠标每点击一下就出现一个保存的圆圈
    装饰者模式
    IO的学习与使用
    Enumeration的学习
    在html页面中引入公共的头部和底部
    WEB-INF下资源访问问题
    给自己立一个flag
    elementui 日期选择值格式
  • 原文地址:https://www.cnblogs.com/xiaoka/p/2642497.html
Copyright © 2011-2022 走看看