+ 5
Learn syntax of only those containers and functions which are coming in use.
If you want to be good in it then try many problems of different topics and level, with practice you will notice that there is no need to know all of it only few will be enough.
CodeForces is one of the best site to learn it faster.
+ 3
your question is kind of wordy so hopefully I understood.
I do recommend you learn how to write your own implementations, it'll help you understand what you're using (from STL) and how to customize your own so you don't have to rely on the STL.
"STL map doesn't do what I want"
Either you're screwed or since you know how to implement a map, make your own to fit your needs!
Not necessary, but I also recommend looking in the source code of things to see how they work and finding efficient implementations. Not always possible but great for c++ programmers.
+ 2
What are you asking exaclty ?
By memorzing stl function syntax wouldnt that also be learning stl ?
+ 2
Ah that makes more sense
Id say it depends on your goal
If the goal is for example learning algorithms Or data structures
Then implement it yourself
If the goal is something else but to reach it you first need to use an algorithm or some data structure save yourself time and use the STL
For example <vector> is part of the STL and more than likely you already use without thinking about implementing it yourslef
+ 1
Cool