nie wiem czy dobrze zadam pytanie ale rozpatrzmy taką hipotetyczną sytuację w programie
class MyClass
{
public:
int *funkcja();
};
int *MyClass::funkcja()
{
static int z=0;
cout << "w klasie MyClass z = " << z << endl;
return &z;
}
int main()
{
MyClass *wsk1, zmienna;
wsk1=&zmienna;
int *wsk2;
wsk2=wsk1->funkcja();
*wsk2=987;
wsk1->funkcja();
return 0;
}
funkcja w klasie zwraca adres i ten adres przypisuję do wskaźnika i następnie za pomocą wskaźnika modyfikuję zawartość
pytanie jest takie - czy ta technika do czegoś może się przydać ? O ile można nazwać to techniką czy brzydkim oszustwem ?
drugie pytanie jest takie - czy jest sens deklarować zmienne jako static ? Jeżeli tak, to kiedy to się może przydać ?