std::multiset
. Однако, если вас устраивает линейная сложность, то это делается с помощью std::find_if
. Не пробрасывать же до самого верха, самого абстрактного слоя
try {...}
catch (SQLException ex) {
throw new MyAppDALException("Unable to update data", ex);
}
если там не добавляешь никакой новой функциональности (по сути только название меняешь), мол, не нужно плодить лишние сущности
Если такого управления нет, то и делать свои классы не нужно.
Остается только порадоваться, что преподаватели вузов тянутся за трендами и заинтересованы в материале. Если студент попробует много разного, то он от этого только выиграет.