Я не знаю, прав ли мой заголовок, но я пытаюсь устранить дубликат, поэтому я думаю, что я должен поместить эти определения в массив. Может кто-нибудь подскажет мне, как я могу поместить pButtons в массив? Я имею в виду что-то вроде pButton [EButtonHost], pButton [EButtonUsername] и т.д.Создание массива для статического литого индексированного массива
#define pButtonHost static_cast<XQtMultipleStringInputButton*>(m_pButtonList[EButtonHost])
#define pButtonUsername static_cast<XQtMultipleStringInputButton*>(m_pButtonList[EButtonUsername])
#define pButtonPassword static_cast<XQtMultipleStringInputButton*>(m_pButtonList[EButtonPassword])
У меня есть метод ниже, как это.
XIniFile readIniFile;
readIniFile.open(k_systemIniFile, EIniReadOnly);
string data;
readIniFile.readString("Server", "host", data);
pButtonHost->setString(data);
m_host = pButtonHost->getString();
readIniFile.readString("Server", "username", data);
pButtonUsername->setString(data);
m_username = pButtonUsername->getString();
readIniFile.readString("Server", "password", data);
pButtonPassword->setString(data);
m_password = pButtonPassword->getString();
Они похожи на дубликаты, поэтому я пытаюсь их оптимизировать. Благодаря!
Обновление: У меня сейчас что-то в этом роде. Правильно ли это? или у вас есть какие-то лучшие предложения?
for (int i = 0; i < 3; ++i) {
readIniFile.readString("Server", k_dataList[i], data);
static_cast<XQtMultipleStringInputButton*>(m_pButtonList[i])->setString(data);
m_pData[i] = static_cast<XQtMultipleStringInputButton*>(m_pButtonList[i])->getString();
}
Непонятно, что вы просите. –