zoukankan      html  css  js  c++  java
  • 奔溃瞬间1

    事故现场:做算法题时需要给函数传递一个递增的变量

    //最开始的做法
    dfs(u ++ )
    //整个程序一直报"内存超限",反复检查模拟了n遍其他代码的逻辑,没找到原因,心态崩
    
    //通过各种原因定位到这样传参数可能有问题,第一反应是后置递增运算符有“延迟”,遂换成以下写法
    dfs(++ u)
    //调试还是不通过,怀疑人生
    
    //正确答案如下
    dfs(u + 1)
    //一开始死活想不明白为什么
    

    面向google编程,得到如下解释

    前置操作返回的是加1后的值,返回的是对象本身,所以这是左值。
    后置操作返回的是加1前的值,其返回值可以近似的理解为与原操作数值相等的常量,所以是一个右值

    原来是这样,但是可能我c之前一遍遍查代码的我像极了一个无知的傻子,可能我不适合干这行吧

  • 相关阅读:
    1.vue-1
    7.Docker -- 虚拟服务器
    11.Django -- 中间件
    10.Django -- csrf -- 文件上传
    9.djang -- cookie和session
    8.Django --Ajax
    YOLO v1原理详解
    带你一文读懂Faster RCNN论文
    Week13
    Week12
  • 原文地址:https://www.cnblogs.com/huhu555/p/14766348.html
Copyright © 2011-2022 走看看