I think you guys have some misinterpretations ranging from small to moderate.
But firstly, I hate to do this but...
http://www.cplusplus.com/reference/clibrary/cstdlib/atof/Take a look at that kurt.
@Gan - Linked lists allow everything in O(1) time but indexed access. The point is that you use them for anything but indexed access. The power of a list is that it can grow indefinitely without having to be reallocated memory (which is EXTREMELY slow), and removing items from anywhere is fast. The trick to removing the item is storing a reference to the link. For example in linked lists I have coded (below is pseudocode) adding a new item returns a reference (or pointer) to the link.
Link l = list.addFirst(object);
list.remove(l);
That operation is O(1).
You said you are hesitant to use a linked list since remove has to iterate over many of the items in the list. Thats true, but your mutable array already has to iterate over EVERY item in the array, so I don't see the problem. The only difference is that adding in the linked list will be fast...
Also why dont you implement a vector. Which is like a mutable array except much faster, albeit slightly limited. It allows O(1) indexed access, you can add and remove from the ends of the vector (front and back) in amortized O(1) time, and it can grow to any size. Its built into the C++ library. Removing from the middle is O(n) time (like everything in yours) since you have to shuffle the array items along to fill the hole the removed item makes.
I think a mutable array may not be the best option for storing lots of entities anyway. Explain exactly what you are doing with it, and I might be able to point you in the direction of a better data structure.
@Kurt.
I am hard pressed not to find a use for lists. I have used them countless times for game development. This is because they give me O(1) times for pretty much everything I need, and they never need to be re-sized.
I usually use them to store an entity list of game objects.