У меня есть внешний файл Excel, который содержит список различных значений параметров, необходимых для запуска приложения.Один из параметров в файле excel - numberofcustomers
.Я прочитал это в начале моей программы в объект, скажем, globalconstant
объект, gcs
.Класс globalconstant
имеет закрытый элемент данных int Numberofcustomers;
Всякий раз, когда мне нужно использовать этот параметр в моей программе, я обращаюсь к нему через открытую функцию-член класса, определенного таким образом:
int numberofcustomers() const {return Numberofcustomers;}
Например, если мне нужно просмотреть количество клиентов, я получу:
for(int i = 0, sz = gcs.numberofcustomers(); i < sz; i++){...}
Таким образом, скомпилированный и собранный исполняемый файл не имеетИдея, что numberofcustomers
может быть.
В противоположность этому, другой дизайн может быть явно определять:
static const int numberofcustomers = 100;
в заголовочном файле и перекомпилировать / перестроитьвесь проект.Таким образом, я могу полностью избавиться от необходимости во внешнем файле настроек Excel.
Существуют ли какие-либо оптимизации компилятора, которые я пропускаю, имея первый дизайн (сохраняйте значения параметров в файле Excel, который читается вво время выполнения) в отличие от второго проекта (сохранить значения параметров в самом исходном коде)?Мне кажется, что второй дизайн должен извлечь выгоду из преимуществ, поскольку он знает, сколько клиентов находится в проблеме до самого времени выполнения.
Количество различных параметров, которые я имею, составляет от 15 до 20 или около того.Преимущество первого дизайна заключается в том, что управлять параметрами намного проще, открыв только файл Excel и изменив его.Это также избавляет меня от необходимости перекомпилировать и перестраивать мой проект.