int main(int argc, char* argv[]) { int count = atoi(argv[1]) * 100; // Map container; printf("map %d ", count); Deque container; printf("deque %d ", count); // Vector container; printf("vector %d ", count); for (int i=0; i<count; ++i) { container.addItem(new Object()); } u_int64_t begin = getCurrentTime(); // const Map::Items copy = container.getCopy(); const Deque::Items copy = container.getCopy(); // const Vector::Items copy = container.getCopy(); u_int64_t end = getCurrentTime(); u_int64_t diff = end - begin; printf("%llu usec\n", diff); return 0; }
int main() { int count = 20; Player player; Deque container; for (int i=0; i<count; ++i) { container.addItem(i); } // Old way const Deque::Items items = container.getCopy(); Deque::ItemsConstIter iter = items.begin(); while (iter != items.end()) { if (*iter % 3 == 0) container.removeItem(*iter); ++iter; } // New way print("before", container); MyIntOperator func(player); container.forEachItem(func); print("after", container); return 0; }