寫代碼時突然想到for循環裏面定義的變量的生存週期問題:
for(int i=0; i<for_size; i++)
{
vartype temp;
//do something
}
查了網上的東西:
1.對於i--它是在for_size次for循環結束後纔會釋放內存,也就是說其作用域爲整個for循環
2.對於temp--它是在每一次for循環之後都會釋放內存,然後第二次for循環的時候重新申請內存
對於上面的驗證:可以單步調試,然後看看temp和i的內存地址在每一次for循環的時候是否有變化
如果有變化,則表示經過了釋放重新申請過內存