[英]forward_list::splice_after( const_iterator pos, forward_list& other, const_iterator i ) functionality
我正在阅读这个函数应该工作方式的不同解释。
cplusplus.com说这个函数应该“在我之后直接移动元素”。
然而cppreference.com说它拼接了AT i元素。
MSvisual studio同意cplusplus.com。 然而,究竟什么是正确的行为? 我倾向于认为移动“在i之后”更合乎逻辑(并且没有花费N时间来找到前一个节点)。
(PS:没有前瞻性标签?)
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,结果不会改变。 指针和对* i的引用继续引用相同的元素,但作为* this的成员。 迭代到* i(包括我自己)继续引用相同的元素,但现在表现为迭代器到* this,而不是x。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.