У меня есть программа, которая в настоящее время использует typecast для вектора с нулевым указателем согласно следующему:
(Обратите внимание, что код "главный", я удалил наиболее ненужный контент.
for (i=0;i<NObjects;i++)
{
switch (ObjectTypes[i])
{
case 1:
((File_GUI*) (NullVector[i]))->function();
break;
case 2:
((Point_GUI*) (NullVector[i]))->function();
break;
case 3....etc
}
}
Есть ли способ заменить на большое количество случая 1, случая 2 и т. Д. Простым массивом, который используется для приведения типов? Следовательно, код будет выглядеть примерно так (где, конечно, TypeCastVector должен быть создан ранее и содержать типы данных для каждого индекса i:
for (i=0;i<NObjects;i++)
{
((typeCastVector[i]*) (NullVector[i]))->function();
}
Если возможно, это сэкономит мне тонны строк кода.