C++ Cpp

Não existe diferença em funcionalidade as duas implicam em adicionar itens ao final da estrutura, conforme o exemplo a seguir:

A diferença está na declaração das funções, enquanto a push_back espera que você passe o tipo definido como parâmetro, a emplace_back devido ao uso de variadic templates, permite o uso de outra maneira, conforme vamos ver no exemplo a seguir:

Ou seja, nesse exemplo podemos ver que para adicionar um pair de int e double usando push_back, devemos utilizar a função que criar um pair e usando o emplace_back não precisamos explicitar tipo, simplesmente passar os valores como parâmetro.

Links de Referência

http://en.cppreference.com/w/cpp/language/parameter_pack
https://eli.thegreenplace.net/2014/variadic-templates-in-c/

Tem alguma dúvida ou sugestão? Deixe nos comentários!

Deixe um comentário

CATEGORIA

C++, Geral

Tags

, , , , , ,