Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 December 14

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
а мусор там был всегда (в буфере)
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
а вообще скинь код
источник

VK

Vlad Kotsiuba in IT KPI C/C++ ХВ (не UB)
https://pastebin.com/f5esXjv6 Source.cpp
https://pastebin.com/dCjuXhyY тут есть вывод в поток и считывание с него, через перегруженные >> и <<
https://pastebin.com/RiYkrxxp А через этот класс все вызывается, как раз из за неизвестного мусора цикл while в operator>> не заканчивается после считывания последнего объекта
источник

VK

Vlad Kotsiuba in IT KPI C/C++ ХВ (не UB)
Ruslan Neshta
мб у тебя файл меньше буфера?
Может это быть из за преобразования ifstream в istream?
И кстати мусор этот всегда представляет собой 10 последних символов из файла
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
ну я бегло просмотрел код
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
не понимаю зачем ты делаешь там касты во втором файле
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
не понимаю почему ты не принимаешь istream и ostream а принимаешь ifstream и ofstream
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
ну ладно
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
карочея я так сходу не вижу где там проблема
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
но
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
вижу что ты супер странно используешь как стримы так и ексепшны
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
но орнул я с вот этого
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
const SellOperation &WeekBalance::operator[](int index) const {

    try {

        CheckInput::IndexRange(index, this->length_);

        return operationList_[index];

    }

    catch (Exception *ex) {

        ex->error();

        return *(new SellOperation());

    }

}
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
видишь тут проблему?
источник

VK

Vlad Kotsiuba in IT KPI C/C++ ХВ (не UB)
Ты ведь про указатель на эксепшене?
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
ты имеешь ввиду вот эту строку
 
 catch (Exception *ex)
?
источник

VK

Vlad Kotsiuba in IT KPI C/C++ ХВ (не UB)
Да
источник

VK

Vlad Kotsiuba in IT KPI C/C++ ХВ (не UB)
Но и логика в кетче тоже не очень мне нравится
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
да, тут лучше конст реф
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
но я не об этом
источник