Рассмотрим следующий код:
#include <iostream>
using namespace std;
void test_func(int address) {
cout<<&address<<" ";
if(address < 0x7FFBEE26) {
test_func(address);
}
}
int main()
{
test_func(512);
cout<<"Hello";
return 0;
}
Привет от main () определенно не достигнут, поскольку рекурсивные вызовы test_func никогда не заканчиваются.
Однако из того, что я вижу в cout, присутствующем в test_func - печатаемые адреса все меньше и меньше с каждой итерацией. Почему это происходит?