C++11 introduced emplace operations on many of the STL containers. For example, vector now has
emplace_back operation along with the old
Emplace operation is provided for convenience, to make writing code in C++ a bit more easier. It should be used when you want to add an object by constructing at the point of calling the emplace operation. For example, you may want to construct the object using its default constructor and then push it into the container. Or you may want to construct it using some parameters on the spot. The older alternative for this involved the construction of a temporary object and then copying it into the container.
The code below shows a simple example of these scenarios: