Monday, April 1, 2019

c++ - Definition of variable inside loop





I was looking for an answer for my questions on many pages but I couldn't find it.



In this case we are defining variable and reinitialaze it in every loop:



while(1)
int k = 7;


In this case we are defining variable before the loop and reinitialaze it in every loop.




int k;
while(1)
k = 7;


There is any advantages or disadvantages of using both methods? Or maybe it don't make a difference?


Answer



The difference is in terms of scope of the variable.



In the first case, once the while loop ends, the variable k cannot be accessed.




In the second case, the variable k can be accessed out of the while loop.



In both cases, the variable is defined on the stack (or as TartanLlama points out, they could be allocated in registers) and so there is no difference in terms of performance.



However, the example you've used is wrong in the case that the while loop will never end. I'm guessing this is just a piece of dummy code to explain the situation.


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...