设v是一个vector的对象,
如果v是非空的,则v.at(0)和v[0]是没有区别的,都是取数组中第一个值;
如果v是空的,则v.at(0)会抛出异常(exception std::out_of_range),指出数组下标越界,而v[0]的行为是未知的,因为operator[]操作符是不做下标越界检查的,这是为了保证程序执行效率。
设v是一个vector的对象,
如果v是非空的,则v.at(0)和v[0]是没有区别的,都是取数组中第一个值;
如果v是空的,则v.at(0)会抛出异常(exception std::out_of_range),指出数组下标越界,而v[0]的行为是未知的,因为operator[]操作符是不做下标越界检查的,这是为了保证程序执行效率。