2015-03-19 2 views
0

Итак, у меня возникла проблема с созданием переменных, которые имеют одинаковое значение для всех моих файлов кода. В принципе, мне нужно иметь возможность создавать переменную, изменять ее значение и проверять ее новое значение внутри другого файла кода. Я почти уверен, что ключевое слово static - это то, что исправит это, но мне просто нужно некоторое подтверждение, прежде чем я проведу свой код (мой код не работает на машине, которой я владею, мне пришлось бы связаться с кем-нибудь, чтобы проверить товар).Переменные, доступные в кодовых файлах

+0

'static' ключевое слово совершенно противоположное, то' extern', так как 'static' переменная может не' extern'ed. если вы используете 'static', вы будете объявлять другую переменную в каждом исходном файле. – SHR

ответ

3

Вы также можете использовать хорошее старое ключевое слово extern.

например. file.cpp:

int myvar; 

каждый файл, который хотите использовать myvar:

extern int myvar; 

Экстерн переменная информация может быть представлена ​​в заголовочном файле, чтобы избежать многократного определения переменной.

Конечно, вы также можете создать статическое поле. somefile.h:

#ifndef _SOMEFILE_H 
#define _SOMEFILE_H 

class myclass{ 
public: 
    static int mystaticfield; 
}; 

#endif 

somefile.cpp:

int myclass::mystaticfield; 

каждый файл, который хотите использовать mystaticfield:

#include "somefile.h" 

// ... 

myclass::mystaticfield = 9; //usage 
+1

вместо ** другой файл ** более точный писать ** каждый файл **. – SHR

+0

Да, вы правы! –

+0

Я видел что-то об этом, но меня это немного смущает. Что вы говорите, так это то, что мне придется переопределять переменную в каждом исходном файле? – Joshe343

Смежные вопросы