最近面试时,被问到一个有关局部静态变量的问题:
当时只隐约记得,static局部变量的生命周期直到程序结束为止。就答了个1,1
面试结束后,赶紧找出之前的笔记。果然,知识记了一半和没记是没有区别的。
然后自己重新思考了答案,应该是1,2
结果vs上执行了之后答案是2,1。死活都是2,1
后来在同学的提示下,才知道如果cout或者prinf连续输出多个函数/表达式的返回值时是按照从右到左计算的。所以2,1其实就是1,2
最近面试时,被问到一个有关局部静态变量的问题:
当时只隐约记得,static局部变量的生命周期直到程序结束为止。就答了个1,1
面试结束后,赶紧找出之前的笔记。果然,知识记了一半和没记是没有区别的。
然后自己重新思考了答案,应该是1,2
结果vs上执行了之后答案是2,1。死活都是2,1
后来在同学的提示下,才知道如果cout或者prinf连续输出多个函数/表达式的返回值时是按照从右到左计算的。所以2,1其实就是1,2