How does an STL algorithm take a container as an output argument?
I haven't checked every single algorithm but as far as i have seen we are usually get only iterator in output (except for bool and void or some data type like int) to some of containers elements not the brand new container right?
Note that the question talks about output arguments, not return types. But I think you are correct that it uses iterators to do this. It never takes a container type as argument.