Do vectors with type <struct> have a smaller max size than vectors of other types (int, double, etc). If so, would a class be larger, or are there any ways to increase this size?
I think it's implementation-defined, but usually max_size() is not very useful and only represents some theoretical upper limit that you will probably never reach before running out of memory anyway.