C++:vector中的v.at(0)和v[0]的区别

设v是一个vector的对象,

如果v是非空的,则v.at(0)和v[0]是没有区别的,都是取数组中第一个值;

如果v是空的,则v.at(0)会抛出异常(exception std::out_of_range),指出数组下标越界,而v[0]的行为是未知的,因为operator[]操作符是不做下标越界检查的,这是为了保证程序执行效率。

 

posted @ 2017-06-02 20:11  瘋子朱磊  阅读(569)  评论(0编辑  收藏  举报