RattleInGlasses / ps_oop

0 stars 0 forks source link

Замечания по классу CStrLst #17

Open alexey-malov opened 8 years ago

alexey-malov commented 8 years ago
    void Insert(std::string const &, iterator &);
    void Delete(iterator &pos);

Следует различать iterator и const_iterator, а также const iterator и const const_iterator

Методы insert и delete должны принимать итератор либо по значению, либо по константной ссылке При компиляции с Warning level=4 компилятор ругается на отход от стандарта (пере

Ввести методы begin/end/rbegin/rend реверсивный итератор сделать на основе std::reverse_iterator

Рекомендую ознакомиться с boost::iterators library http://www.boost.org/doc/libs/1_59_0/libs/iterator/doc/index.html

alexey-malov commented 8 years ago
#define MakeElementPointer std::make_shared<StrLstElem>

Заменить на функцию

alexey-malov commented 8 years ago
    struct StrLstElem
    {
        std::string data;
        ElementPointer next;
        ElementPointer prev;
    };

Сделать конструктор, принимающий data, next, prev, сразу можно будет инициализировать через std::make_shared

alexey-malov commented 8 years ago

200*0,75=150