Как включить константы в мой проект

0

В моем Qt-проекте у меня есть несколько классов (файлы.h и.cpp). В некоторых из них я использую разные константы и функции. Существуют некоторые константы, которые я использую в 2 или 3 разных классах. Но я думаю, что это не очень хорошо. Итак, вопрос в том, как избежать этого? Должен ли я создать еще один класс, где я могу написать все эти константы и функции и включить этот класс? Может быть, есть еще предложения?

PS Например, такие функции, как abs или sign и константы, такие как const int Scale = 50

  • 0
    abs уже является стандартной функцией (используйте <math.h> или <cmath> затем fabs ). Что такое Scale и почему он должен быть константой (а не настраиваемым параметром времени выполнения)?
Теги:
qt

1 ответ

2
Лучший ответ

Вы не объясните, что это за константы.

Я бы сделал их некоторым #define -d макросом, например

 #define MY_AVOGADRO 6.22e+23

или

 #define MY_FIRST_NAME "Basile"

YMMV. Я согласен с тем, что макросы препроцессора являются низкотехнологичными, но они полезны!

Так что у них есть #define внутри некоторого общего заголовка. Примите привычку использовать какой-то общий префикс. В том же заголовочном файле объявите свои глобальные функции или определите свои static inline функции.

Альтернативно, код что-то вроде

 const double my_avogadro = 6.22e+23;

Вам, вероятно, не нужно определять для этого class C++.

См. Также этот вопрос.

  • 0
    Макросы остаются единственным решением для нескольких важных задач, таких как #include, #ifdef и #if, определенных для условной компиляции. Вам следует избегать макросов, см. Стандарты кодирования C ++: 101 правила, руководящие указания и лучшие практики Херб Саттер, Андрей Александреску

Ещё вопросы

Сообщество Overcoder
Наверх
Меню