Opened 4 years ago
Closed 4 years ago
#759 closed ожидается проверка (задача сдана)
WW #14
Reported by: | Igor Engel | Owned by: | Sokolov Viacheslav |
---|---|---|---|
Component: | WW_exceptions | Version: | 1.0 |
Keywords: | Cc: |
Description
Change History (6)
comment:1 Changed 4 years ago by
Owner: | changed from Sokolov Viacheslav to Igor Engel |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 4 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
comment:3 Changed 4 years ago by
Owner: | changed from Igor Engel to Sokolov Viacheslav |
---|
comment:4 Changed 4 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|---|
Version: | → 1.0 |
comment:5 Changed 4 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|
Ой. Fixed.
Вроде, сейчас числа по модулю не превосохдят 100 по модулю. Правда, при загрузке... Не совсем понятны общие ограничения. Если их вообще нет, то надо вообще длинную арифметику...
Две перегрузки - по условиям могут быть отрицательные индексы, и при этом валидировать в main нельзя, так-что нужен метод со знаковым типом. С другой стороны, внутри Matrix хотелось-бы использовать беззнаковый.
Fixed.
Не используется, но мне кажется пусть будет, для консистентности с другими исключениями.
eof чтобы легко умереть если файл неполный (по условию бывает ведь).
Переделал вообще без присваиваниея
comment:6 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Ок, согласен, в финальной версии всегда не больше 100 => любая битность устроит. Но в целом из-за "overflow = UB" и неопределенной разрядности int почти никогда нет смысла использовать.
Можно просто
66 } catch(std::ios_base::failure& ) {}
-lncurses наверное не нужен
по Стандарту int может быть 16-битным
зачем две перегрузки?
достаточно iosfwd в .h
эта перегрузка же не используется?
23 f.exceptions(std::ios_base::eofbit | std::ios_base::failbit | std::ios_base::badbit);
а зачем eof?
обычно наоборот реализуют + через +=, но в данном случае это неважно
хотя на самом деле важно из-за того, что оператор= реализован по умолчанию - кажется, он не дает нужного уровня гарантий для std::out_of_memory