/ / C ++ referenčná premenná v súboroch - c ++, premenné

C ++ referenčná premenná medzi súbormi - c ++, premenné

Mám projekt, v ktorom musím odkazovať na premennú deklarovanú v jednom súbore CPP v inom, je to možné?

Ak áno, ako?

odpovede:

7 pre odpoveď č. 1

Je možné, ak to deklarujete ako globálne (najvyššia úroveň, nad definíciou funkcie) a použijete výraz „extern;“ v iných súboroch, aby bol kompilátor známy.

// Main.cpp
#include <...>

int myNum;

int main(int argc, char** argv)
{
// MAGIC BE HERE
return 0;
}

a

// Second.cpp
#include <...>

extern int myNum;

int f()
{
return myNum * 2;
}

extern zabraňuje kompilátoru v opätovnom pridelení pamäte, keď bola premenná pridelená v inom súbore.


2 pre odpoveď č. 2

Vytvorte súbor .h deklarujúci premennú, ktorú potrebujete extern (niečo ako extern int X;), potom ho zahrňte do každého súboru, ktorý túto premennú potrebuje. V jednom zo súborov .pp, ktorý prepájate, ho deklarujte bez extern.