zoukankan      html  css  js  c++  java
  • “逻辑与”规则的最新认识

    在原本的印象里,逻辑与“&&”的两个操作数是不考虑顺序的,C++ Primer中明确指出其实不然,两个操作数有顺序而且从逻辑解析的角度来讲,这个顺序是必须的,下面是C++ Primer中摘录的几句话:

    “逻辑与和逻辑或操作符总是先计算其左操作数,然后再计算其右操作数。只有在仅靠左操作数的值无法确定该逻辑表达式的结果时, 才会求解其右操作数。 我们常常称这种求值策略为“短路求值(short-circuit evaluation)”。”

    1 string s("Expressions in C++ are composed..."); 
    2 string::iterator it = s.begin(); 
    3 // convert first word in s to uppercase 
    4 while (it != s.end() && !isspace(*it)) { 
    5        *it = toupper(*it); // toupper covered in section 3.2.4 (p. 88) 
    6        ++it; 
    7      } 

    “在这个例子中,while 循环判断了两个条件。首先检查 it 是否已经到达 string 类型对象的结尾,如果不是,则 it 指向 s 中的一个字符。只有当该检验条件成立时,系统才会计算逻辑与操作符的右操作数,即在保证 it 确实指向一个真正的字符之后,才检查该字符是否为空格。如果遇到空格,或者 s 中没有空格而已经到达 s 的结尾时,循环结束。”

    高亮显示的那句话表明,逻辑与对操作数的操作是必要顺序的 

  • 相关阅读:
    个人作业二-举例分析流程图与活动图的区别与联系
    四则运算
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
    实验二 K-近邻算法及应用
    实验一 感知器及其应用
    实验三 面向对象分析与设计
    实验二 结构化分析与设计
    实验一 软件开发文档与工具的安装与使用
    ATM管理系统
  • 原文地址:https://www.cnblogs.com/tingshuixuan2012/p/2972736.html
Copyright © 2011-2022 走看看