繁体   English   中英

forward_list :: splice_after(const_iterator pos,forward_list&other,const_iterator i)功能

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM