1. STL的vector最开始分配的空间是1个,而QVector开始分配的空间为4个(可见QT在空间分配上的优化);
2. STL的vector发生超过容量本身的访问,并不一定失败(因为内存可能足够大并存在),而QVector则发生了断言错误。而显然,第二种处理方式会更好。而第一种可能会造成莫名其妙的错误,尤其是当工程师忘记vector的范围,而vector本身并不出错的时候。
显然,QT的容器基于STL进行了升级。如果有类似于QT的容器之类的容器,优先选择更好的容器;
而如果使用STL,要知道STL这种特点,并避免这类事情发生。