Dynamic array implementation

I have a use for dynamic arrays, so here's an implementation.
Here's a fake example of how it would be used: https://gist.github.com/staven/8924822
I might add more operations, like insert or copy, later, but I don't need these now.

Why not a linked list? Because it would take more memory, more memory allocations and more program time (unless you're storing the Library of Congress in each node, or have a million billion elements etc.).

Why not use STL? Because the declarations in the vector header file are about twice as long as this header + implementation. Because it gives me PTSD flashbacks from Java.

This is untested, I wanted to see if this is okay, or if I should use something else before putting it all over my code.