Opened 4 years ago

Closed 4 years ago

#902 closed ожидается проверка (задача сдана)

WW #13

Reported by: Solovyev Gleb Owned by: Sokolov Viacheslav
Component: WW_array Version: 3.0
Keywords: Cc:

Description


Change History (5)

comment:1 Changed 4 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

30 T data_[N] = {};
кажется, в условии явно просят не инициализироавть

30 throw(std::out_of_range("Bad index."));

можно добавить больше информации, например, какой индекс запрашивали

14 my_array(my_array&& other) = delete;
почему так?

12 my_array(const my_array& other);
Кажется, лучшая реализация - = default. Она отличается от текущей, например, для оператора присваивания она проставит noexcept флаг, если это возможно.

41 proxy(const proxy& other) noexcept = default;
43 proxy(proxy&& other) noexcept = default;
возможно, стоит запретить

((1 << CHAR_BIT_LOG_2) - 1);
1 - знаковая константа, соответственно все выражение типа int. Лучше сделать беззнаковым, потому что знаковая и беззнаковая битовая арифметика отличаются (например, сдвиг по-разному работает)

assert на значение index в get_element_from_bool_array?

выполняется
151 static_assert((~static_cast<unsigned char>(0)) != 255);

comment:2 Changed 4 years ago by Solovyev Gleb

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 4 years ago by Sokolov Viacheslav

Type: ожидается проверкаожидаются исправления

13 my_array& operator=(const my_array& other);
14 my_array(my_array&& other) = delete;
15 my_array& operator=(my_array&& other) noexcept;
в каждом из этих случае лучше написать = default

54 return data_[index];

assert все же стоит добавить

76 unsigned char data_[((N - 1) >> CHAR_BIT_LOG_2) + 1] = {};
по условию просят не инициализировать

47 bool operator=(bool val) const noexcept;
почему bool?

кажется, сейчас не будет работать
a[0] = a[1] = a[2] для bool-специализации.
Добавьте тест.

comment:4 Changed 4 years ago by Solovyev Gleb

Type: ожидаются исправленияожидается проверка
Version: 2.03.0

comment:5 Changed 4 years ago by Sokolov Viacheslav

Resolution: задача сдана
Status: assignedclosed
Note: See TracTickets for help on using tickets.