forward_list :: splice_after (const_iterator pos, forward_list и другие, const_iterator i) функциональность

Я читаю различные интерпретации того, как эта функция должна работать.

cplusplus.com говорит, что эта функция должна «перемещать элемент сразу после i».
Еще cppreference.com говорит, что сращивает элемент AT i.
MSvisual studio соглашается с cplusplus.com. Однако каково на самом деле правильное поведение? Я склонен думать, что движение «после того, как я» более логично (& не занимает N времени, чтобы найти предыдущий узел).

(PS: нет тега форвард-листа?)

4

Решение

23.3.4.6

void splice_after(const_iterator position, forward_list& x, const_iterator i);
void splice_after(const_iterator position, forward_list&& x, const_iterator i);


Эффекты: вставляет элемент, следующий за i, в * this, следующую позицию и удаляет его из x.
результат не изменяется, если position == i или position == ++ i. Указатели и ссылки на * я продолжаю
ссылаются на тот же элемент, но как член * this. Итераторы для * i (включая самого себя) продолжают
ссылаются на тот же элемент, но теперь ведут себя как итераторы в * this, а не в x.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]