zoukankan      html  css  js  c++  java
  • [007]操作符的求解顺序

    在C++ Primer中,有这样的一道习题:

    除了逻辑与和逻辑或外,C++ 没有明确定义二元操作符的求解次序,编译器可自由地提供最佳的实现方式。只能在 “实现效率”和程序语言使用中“潜在的缺陷”之间寻求平衡。你认为这可以接受吗?说出你的理由。

    标准答案如下:

    可以接受,因为操作数的求解次序通常对结果没有什么影响。只有当二元操作符的两个操作数涉及同一对象,并改变该对象的值时,操作数的求解次序才会影响计算结果,后一种情况只会在部分(甚至是少数)程序中出现。在实际运用中,这种“潜在的缺陷”可以通过程序员的努力得到弥补,但“实现效率”的提高却能使所有使用该编译器的程序收益,因此利大于弊。

    个人理解:

    随着环境的不同,编译器的编译方式也是不同的,在编写代码的时候,如果是准备充分,那么可以通过考虑到不同的编译环境,设计出不同的代码来完成对环境的适应,是人为可控的。

    程序的效率而言,是人为不可控的,因此在效率和适应两者之前,选择效率明显是更优的选择。

  • 相关阅读:
    记一次在Windows10桌面环境搭建Jekins的吐血经历
    Windows系统下的输入法选择
    Linux后台进程启停脚本模板
    crontab采坑总结
    编程软件仓库集合
    CentOS7安装Chrome及驱动
    不错的“淘宝”网站
    软件下载网站集合
    在线API集合
    在线教程集合
  • 原文地址:https://www.cnblogs.com/hustcser/p/3637819.html
Copyright © 2011-2022 走看看