std::list::splice
Da cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
void splice(const_iterator pos, list& other); |
(1) | |
void splice(const_iterator pos, list&& other); |
(1) | (desde C++11) |
void splice(const_iterator pos, list& other, const_iterator it); |
(2) | |
void splice(const_iterator pos, list&& other, const_iterator it); |
(2) | (desde C++11) |
void splice(const_iterator pos, list& other, const_iterator first, const_iterator last); |
(3) | |
void splice(const_iterator pos, list&& other, const_iterator first, const_iterator last); |
(3) | (desde C++11) |
Move elementos de uma lista para outra.
Original:
Moves elements from one list to another.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Não há elementos são copiados. O comportamento é indefinido se: get_allocator() != other.get_allocator(). Não iteradores ou referências tornam-se invalidado, os iteradores a elementos movidos agora se referem em *this, não em
1) other
.Original:
No elements are copied. The behavior is undefined if: get_allocator() != other.get_allocator(). No iterators or references become invalidated, the iterators to moved elements now refer into *this, not into
other
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Move todos os elementos de
2) other
em *this. Os elementos são inseridos antes do elemento apontado pelo pos
. O other
recipiente fica vazio após a operação. O comportamento é indefinido se this == &other.Original:
Moves all elements from
other
into *this. The elements are inserted before the element pointed to by pos
. The container other
becomes empty after the operation. The behavior is undefined if this == &other.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Move o elemento apontado por
3) it
de other
em *this. O elemento é inserido antes do elemento apontado por pos
.Original:
Moves the element pointed to by
it
from other
into *this. The element is inserted before the element pointed to by pos
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Move os elementos no intervalo de
[first, last)
other
em *this. Os elementos são inseridos antes do elemento apontado pelo pos
. O comportamento é indefinido se pos
é um iterador no [first,last)
gama.Original:
Moves the elements in the range
[first, last)
from other
into *this. The elements are inserted before the element pointed to by pos
. The behavior is undefined if pos
is an iterator in the range [first,last)
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Índice |
[editar] Parâmetros
pos | - | elemento antes que o conteúdo será inserido
Original: element before which the content will be inserted The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
other | - | um outro recipiente para mover o conteúdo da
Original: another container to move the content from The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
it | - | o elemento de passar de
other para *thisOriginal: the element to move from other to *thisThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
first, last | - | a gama de elementos para se deslocar de
other para *thisOriginal: the range of elements to move from other to *thisThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar] Valor de retorno
(Nenhum)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar] Complexidade
1-2)Constante.
3) Original:
Constant.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Constante se this == &other, de outro modo linear em std::distance(first, last).
Original:
Constant if this == &other, otherwise linear in std::distance(first, last).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar] Exemplo
#include <iostream> #include <list> std::ostream& operator<<(std::ostream& ostr, const std::list<int>& list) { for (auto &i : list) { ostr << " " << i; } return ostr; } int main () { std::list<int> list1 = { 1, 2, 3, 4, 5 }; std::list<int> list2 = { 10, 20, 30, 40, 50 }; auto it = list1.begin(); std::advance(it, 2); list1.splice(it, list2); std::cout << "list1: " << list1 << "\n"; std::cout << "list2: " << list2 << "\n"; list2.splice(list2.begin(), list1, it, list1.end()); std::cout << "list1: " << list1 << "\n"; std::cout << "list2: " << list2 << "\n"; }
Saída:
list1: 1 2 10 20 30 40 50 3 4 5 list2: list1: 1 2 10 20 30 40 50 list2: 3 4 5
[editar] Veja também
funde duas listas ordenadas Original: merges two sorted lists The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
remove elementos que satisfazem critérios específicos Original: removes elements satisfying specific criteria The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) |