Как проитерироваться по локальным переменным?

У меня есть 4 локальных переменных-указателя разных типов A*, B*, C*, D*, но которые наследуются от одного типа A. Надо сделать одно и то же действие-функцию A::do_it() над каждым объектом. Чтобы не писать одинаковый код 4 раза, хочу сделать цикл по этим объектам такого вида:

for (A* obj : {a, b, c, d}) {
  obj->do_it();
}

Какой контейнер правильно применять, чтобы работало и не было лишних копий?


Ответы (1 шт):

Автор решения: karmik

Для QT классов не получится сделать. Надо явно писать

for(A* x: initializer_list<A*>({a,b,c,d}))

→ Ссылка