Я работаю с проектом Arduino в студии Atmel. Мне нужно объявить, инициализировать и использовать int в одном разделе кода (settings.cpp / settings.h), а также использовать его в другом файле .cpp (error.cpp). Мне было интересно, что лучший способ сделать это.
Мой план состоял в том, чтобы объявить int как extern int в settings.h, инициализировать его в settings.cpp, а затем #include settings.h в error.cpp.
Мне просто интересно, если это лучший способ сделать это лучше или мне нужно учесть что-нибудь, когда error.cpp дает доступ к settings.h
Благодарю.
Другим способом было бы определить его частным в settings.h и инициализировать его в settings.cpp.
Тогда вы можете использовать int getVar()
а также void setVar(int)
которые вы объявляете как публичные функции в settings.h и реализуете в settings.cpp.
Из вашего класса ошибок, вы включаете settings.h
и вы можете вызвать эти функции. Этот подход более трудоемкий, но, как правило, он безопаснее, поскольку у вас больше контроля над тем, что происходит с вашей переменной.
В .h
(заголовочный) файл, определите:
extern int myvar;
Тогда используйте это везде в глобальном масштабе.