Permalänk

Globals

Om man deklarerar en global variabel i C++, ska inte den då vara synlig i alla klasser i hela programmet? Det var vad jag trodde men det funkar inte för mig...

Visa signatur

And on the seventh day, god stepped back and said: "There is my creation, perfect in every way... oh, dammit I left pot all over the place. Now they'll think I want them to smoke it... Now I have to create republicans." - Bill Hicks

Permalänk
Medlem

Alltså, det går men fult. Undvik globlal variabler!

// foo.cpp uint32 g_Foobar = 0; // bar.cpp extern uint32 g_Foobar;

Visa signatur

Perl - Made by Idiots, Java - Made for Idiots, C++ - Envied by Idiots

Permalänk

kanske skulle försöka lösa det på något annat sätt, verkar inte som om globalen hjälper mig i vilket fall. Grejen är att jag håller på med min 3d-motor och har fastnat.

Jag har en klass som heter Shell och en som heter Core. Sedan har jag en som heter Render och en som heter Camera.
Core skall inte vara beroende av Shell utan bara ta imot instruktioner ifrån den. I Core finns variabler som Render och Camera är beroende av, exempelvis 3dDevice'en. Render och Camera ska kunna ta emot instruktioner från Shell. Man kan säga att alla klasser är beroende av Core. Det skall alltså bara finnas ett Core-objekt som de andra samsas om med hjälp av pekare på något vis.

Visa signatur

And on the seventh day, god stepped back and said: "There is my creation, perfect in every way... oh, dammit I left pot all over the place. Now they'll think I want them to smoke it... Now I have to create republicans." - Bill Hicks

Permalänk
Medlem

class CCore { public: CCore() { m_pCurrent = this; } ~CCore() { m_pCurrent = 0; } static CCore* Instance() { return m_pCurrent; } private: static CCore* m_pCurrent; }; ... int Foo = CCore::Instance()->NumTextureUnits();

Vet inte om det hjälper någe, men kanske du får några idér om static.

Visa signatur

Perl - Made by Idiots, Java - Made for Idiots, C++ - Envied by Idiots

Permalänk

Tackar sunray!
ska se vad jag kan göra. Har kollat lite på static förut men inte riktigt lyckats. Detta ska nog hjälpa mig att komma igång

Visa signatur

And on the seventh day, god stepped back and said: "There is my creation, perfect in every way... oh, dammit I left pot all over the place. Now they'll think I want them to smoke it... Now I have to create republicans." - Bill Hicks