Std::forward_list::insert_after реализацияC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Std::forward_list::insert_after реализация

Сообщение Anonymous »

Код: Выделить всё

    struct base_node {
base_node* _next = nullptr;
};

template 
struct node: base_node {
T _value;
node() = default;
explicit node(const T& v) : _value(v) {}
explicit node(T&& v) : _value(std::move(v)) {}
};

Код: Выделить всё

    template 
class base_iterator {
using base_node_t = std::conditional_t;
using node_t = std::conditional_t;

Код: Выделить всё

    using iterator        = base_iterator;
using const_iterator  = base_iterator;

Код: Выделить всё

    iterator insert_after(const_iterator pos, const_reference value) {
// ????? we need used const_cast??
}
Как добавить элемент через const_iterator? Должен ли я использовать const_cast ? Можно ли обойтись без этого и как правильнее реализовать этот метод?

Подробнее здесь: https://stackoverflow.com/questions/799 ... ementation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»