Junior
Τι συμβαίνει αν δηλώσουμε μια παγκόσμια μεταβλητή με τον τροποποιητή static;
sobes.tech AI
Απάντηση από AI
Ο χώρος ορατότητας θα περιοριστεί στα όρια του αρχείου στο οποίο δηλώνεται. Η μεταβλητή θα είναι ορατή μόνο σε αυτό το αρχείο.
Ο κύκλος ζωής θα παραμείνει ο ίδιος: η μεταβλητή θα δημιουργείται κατά την εκκίνηση του προγράμματος και θα καταστρέφεται κατά το τέλος.
Παράδειγμα:
// αρχείο1.cpp
static int globalStaticVar = 10;
void func1() {
// Πρόσβαση σε globalStaticVar δυνατή
globalStaticVar++;
}
// αρχείο2.cpp
extern int globalStaticVar; // Σφάλμα μεταγλώττισης: globalStaticVar δεν είναι ορατή
void func2() {
// Πρόσβαση σε globalStaticVar αδύνατη
}