Элементы вектора по-прежнему могут ссылаться после вызова clear ()?

В Mongoid 5.0 это работает для меня

Username.or({username: @username}.or({email: @email})
0
задан user1418336 26 February 2019 в 13:16
поделиться

1 ответ

Оператор индексирования из std::vector<> не проверяет индекс. Поскольку это неопределенное поведение, вы можете получить «то, что было раньше», или оно может рухнуть (или «что угодно»).

У вас есть функция-член at, которая будет выдавать, если индекс находится вне диапазона. То есть:

cout << vec.at(0) << " " << vec.size() << endl;

в конце вашего main() будет бросать.

0
ответ дан srdjan.veljkovic 26 February 2019 в 13:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: