[ ratep90 @ 20.11.2010. 22:33 ] @
Ako imamo program

#include<iostream>
using namespace std;

int *gloabal;

int main()
{

{int x=10;gloabal=&x;}

cout<<*global;

}


Program ce da ispise 10,jer smo sacuvali adresu objekta koji se nalazi u statickoj memoriji koji zatim izlazi iz svog opsega i biva " unisten ".
Mene interesuje da li ovaj sada dio memorije moze da bude dodjeljen nekom drugom objektu koji ce se eventualno definisati u statickoj memoriji i na taj nacin doci to nepredvidivog ponasanja datog programa,odnosno sadrzaja na koji pokazuje global ili ce se desiti suprotno od recenog?
[ X Files @ 21.11.2010. 08:20 ] @
Code::Blocks 8.02 + GNU GCC Compiler
Code:

#include<iostream>
using namespace std;

int *global;

int main()
{

    {
        int x=10;
        global = &x;
    }

    cout << *global << endl;

    int c = 5;

    cout << *global;
}


Menu > F9

10
5

[ mmix @ 21.11.2010. 09:30 ] @
Haha, znao sam za ovo, ali sad posle toliko CLRa ovakvi primeri mi salju zmarke niz kicmu