美文网首页
CPP-一个看似无穷死循环的for

CPP-一个看似无穷死循环的for

作者: icecity96 | 来源:发表于2016-12-28 10:14 被阅读0次

    原问题来自StackOverflow

    大意就是原PO认为下面这段代码会产生死循环

    for (std::size_t j = M; j <= M; --j)
    

    相信这段代码稍微了解CPP的人都知道是什么意思,以及是如何工作的。size_t是一个unsigned类型,当你对j减到0之后要再减下去,那么结果就是这个类型的最大值。也就是说这个循环想表达的意思:

    (std::size_t j = M + 1; j --> 0; )
    

    其实原PO给出的循环的确有可能导致死循环,考虑M取值为std::numeric_limits<std::size_t>::max()

    相关文章

      网友评论

          本文标题:CPP-一个看似无穷死循环的for

          本文链接:https://www.haomeiwen.com/subject/xpgrvttx.html