Partilhar via


Funções <map>

swap (map)

Troca os elementos de dois mapas.

template <class key, class T, class _Pr, class _Alloc>
void swap(
    map<Key, Traits, Compare, Alloctor>& left,
    map<Key, Traits, Compare, Alloctor>& right);

Parâmetros

direita
O mapa que fornece os elementos a serem trocados ou o mapa cujos elementos devem ser trocados por aqueles que estão no mapa left.

esquerda
O mapa cujos elementos devem ser trocados por aqueles que estão no mapa right.

Comentários

A função de modelo é um algoritmo especializado no mapa de classe de contêiner para executar a função de membro left.swap( right). Trata-se de uma instância da ordenação parcial de modelos de função pelo compilador. Quando as funções de modelo são sobrecarregadas de forma que a correspondência do modelo com a chamada de função não é exclusiva, o compilador seleciona a versão mais especializada do modelo de função. A versão geral da função de modelo, template<classe T>void swap( T&, T&), na classe de algoritmo funciona por atribuição e é uma operação lenta. A versão especializada em cada contêiner é muito mais rápida, uma vez que ela pode funcionar com a representação interna da classe de contêiner.

Exemplo

Veja o exemplo de código da função de membro map::swap para obter uma amostra que utiliza a versão de modelo do swap.

swap (multimap)

Troca os elementos de dois multimaps.

template <class key, class T, class _Pr, class _Alloc>
void swap(
    multimap<Key, Traits, Compare, Alloctor>& left,
    multimap<Key, Traits, Compare, Alloctor>& right);

Parâmetros

direita
O multimap que fornece os elementos que serão trocados ou o multimap cujos elementos deverão ser trocados com aqueles do multimapa left.

esquerda
O multimapa cujos elementos deverão ser trocados com aqueles do multimapa right.

Comentários

A função de modelo é um algoritmo especializado no mapa de classe de contêiner para executar a função de membro leftswap (right) no multimapa de classe de contêiner. Trata-se de uma instância da ordenação parcial de modelos de função pelo compilador. Quando as funções de modelo são sobrecarregadas de forma que a correspondência do modelo com a chamada de função não é exclusiva, o compilador seleciona a versão mais especializada do modelo de função. A versão geral da função de modelo, template<classe T>void swap( T&, T&), na classe de algoritmo funciona por atribuição e é uma operação lenta. A versão especializada em cada contêiner é muito mais rápida, uma vez que ela pode funcionar com a representação interna da classe de contêiner.

Exemplo

Veja o exemplo de código da função de membro multimap::swap para obter uma amostra que utiliza a versão de modelo do swap.