簡體   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