suggest CCARRAY_FOR.

it’s necessary to add CCARRAY_FOR not FOREACH like STL way.

#define CCARRAY_FOR (array, object) if ((array) && (array)>data>num > 0) for(CCObject*** arr = >data>arr; arr <= >data>arr + >data>num-1) && =**arr) != NULL ); arr++)

i just wanna manipulate items in for loop including delete element.

is any idea?

First, it is not safe to delete an element when looping.
Second, you can write the logic by yourself but not using macro.