Итак, я пытаюсь определить макрос для упрощения следующего кода:
for (vector<TYPE>::iterator iter = iterable.begin();
iter != iterable.end(); iter++)
и
for (map<TYPE, TYPE>::iterator iter = iterable.begin();
iter != iterable.end(); iter++)
и т. Д.
На данный момент у меня есть
#define every(iter, iterable) ::iterator iter = iterable.begin(); iter != iterable.end(); iter++
for (vector<TYPE> every(iter, iterable))
, но я хотел бы еще больше упростить это.
В идеале, я бы хотел иметь возможность выполнить
for (every(iter, iterable))
, что означает, что мне нужно каким-то образом получить class
итеративного объекта. Возможно ли это? Если да, как я могу это сделать?
итератора
. #define every(iter, iterable) typeof(iterable.begin()) iter = iterable.begin(); iter != iterable.end(); iter++
for (every(iter, iterable))