В моей программе мне нужно создать объект, который выглядит следующим образом:
Library::Param1<Library::Param2>::Param3
(не знаю, как назвать Param
, возможно, типы?) Похоже на std::vector<std::string>::iterator
.
Итак, эти Param
должны быть изменены строками.Например:
if(param1 == "1_VALUE1")
{
if(param2 == "2_VALUE1")
{
MyLib::1_VALUE1<MyLib::2_VALUE1>::Param3 obj;
//Obj is used
}
//15+ similar if-statements, where only 2_VALUE1 changes
}
/*15+ similar if-statements, where only 1_VALUE1 changes,
but the contents remain same (again 15+ if-statements)*/
using namespace MyLib;
не является обязательным.
Итак, мне нужно уменьшить количество этих операторов if, но я не знаюспособ сделать это.Я думаю, что это можно сделать с помощью шаблонов, но я не знаком с ними, поэтому, я думаю, мне понадобится пример кода.
Извините за плохой английский, если потребуется дополнительная информация - дайте мне знать.Спасибо.
--- РЕДАКТИРОВАТЬ: Определения типов библиотеки (CryptoPP):
Так как ошибки есть только в Param1, публикуем один вариант этого: