Opened 4 years ago
Closed 4 years ago
#658 closed ожидаются исправления (задача сдана)
WW #11 Golovin Valery
Reported by: | golovin.valeriy | Owned by: | golovin.valeriy |
---|---|---|---|
Component: | WW cpp_io | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (6)
comment:1 Changed 4 years ago by
Owner: | changed from Дмитрий Лапшин (lapshin) to Дмитрий Свиридкин |
---|
comment:2 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to golovin.valeriy |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:3 follow-up: 4 Changed 4 years ago by
Owner: | changed from golovin.valeriy to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
Надо придумать как объединить ввод из файла и из терминала.
Также не уверен, что стало лучше с функцией Reed для которой теперь перед вводом надо выделять память, а затем передавать указатель в список работников.
comment:4 Changed 4 years ago by
Replying to golovin.valeriy:
Надо придумать как объединить ввод из файла и из терминала.
Также не уверен, что стало лучше с функцией Reed для которой теперь перед вводом надо выделять память, а затем передавать указатель в список работников.
Объединить можно двумя перегрузками функции.
Функция Read могла бы сама выделить память и отдать указатель.
comment:5 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to golovin.valeriy |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Поле total_salary_ -- дополнительная информация, которую нужно поддерживать согласованной. Вряд в этом задании нужна эта оптимизация, требующая дополнительного контроля.
Вам точно нужен метод copy()?
std::string name; int32_t base_salary, has_bonus; istr >> name >> base_salary >> has_bonus; if (!istr.good()) return -1; *this = Developer(name, base_salary, has_bonus);
Почему бы сразу не заполнить поля this?
Магические константы для типов лучше заменить на enum
7.5/10
comment:6 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Оно, конечно, работает и даже форматы правильные. Но
В операторах для манипуляторов лучше везде передавать по const&
write_le_int32(const int32_t& x);
Примитивные типы по константным ссылкам лучше не передавать -- это дополнительные накладные расходы. Передавайте по копии.
Создавать объект, читать, потом копировать, потом удалять. Может лучше Read, возвращающий указатель, который сразу отдается в массив?
И самое главное:
asan, ubsan, valgrind пора стать вашими лучшими друзьями.