Информация об изменениях

Сообщение Re[2]: Проверка, что строка равна одному из значений от 23.03.2019 8:45

Изменено 23.03.2019 8:46 Lonely Dog

Re[2]: Проверка, что строка равна одному из значений
Здравствуйте, LaptevVV, Вы писали:

LD>>А можно ли что-нибудь такое написать на C++, как-нибудь сократить код?

LVV>Радость ты моя, а заранее все эти строки запихать в контейнер — никак?
LVV>Вместо вложенных ифов — просто найти в контейнере и сделать, чего с ним связано.
Да можно наверное. Что-нибудь типа такого?

bool isStringInSet(const std::initializer_list<std::string> &options, const std::string &value)
{
  return std::find(std::begin(options), std::end(options), value) != std::end(options);
}

int main()
{
  if (isStringInSet({ "4321", "1234", "1111", "45423534534" }, "1234"))
    std::cout << "IN SET";
  return 0;
}
Re[2]: Проверка, что строка равна одному из значений
Здравствуйте, LaptevVV, Вы писали:

LD>>А можно ли что-нибудь такое написать на C++, как-нибудь сократить код?

LVV>Радость ты моя, а заранее все эти строки запихать в контейнер — никак?
LVV>Вместо вложенных ифов — просто найти в контейнере и сделать, чего с ним связано.
Да можно наверное. Что-нибудь типа такого?

bool isStringInSet(const std::initializer_list<std::string> &options, const std::string &value)
{
  return std::find(std::begin(options), std::end(options), value) != std::end(options);
}

int main()
{
  if (isStringInSet({ "4321", "1234", "1111", "45423534534" }, "1234"))
    std::cout << "IN SET";
  return 0;
}


Хотелось просто более лаконично