static außerhalb von funktionen
-
hallo,
was bedeutet ein static, wenn es nicht innerhalb einer funktion verwendet wird?
-
GöRöll schrieb:
hallo,
was bedeutet ein static, wenn es nicht innerhalb einer funktion verwendet wird?
eine globale var in der foo.cpp
int x;
kann ich in der bar.cpp mit
extern int x;
klauen und das ist manchmal nicht ok.
static-variablen kann keine andere übersetzungseinheit klauen.
edit: und wenn es in c++ wäre:
static in dieser bedeutung zu verwenden ist depricated. sollst jetzt in der foo.cppnamespace{ int x; }
machen, um sie zu schützen.
static oder einen anonymen namespace in dieser bedeutung zu verwenden ist die kapselung für c-programmierer. in c++ geht das mit klassen meistens angemessener.
-
volkard schrieb:
...
namespace{ int x; }
...
ist das ein sprachmittel von c? oh!
-
staunefrau und töchter schrieb:
volkard schrieb:
...
namespace{ int x; }
...
ist das ein sprachmittel von c? oh!
nee. sorry.