I've been developing using languages like Python, Java and the like with automatic memory management for the past few years. The way I learned these languages was - read their language definition from learnxinyminutes.com, think of personal projects I wanted to make/port, google the API and done.
C/C++ is different, I'm afraid of pointers. I can't think of anything that I will like to make in C/C++ since it is so low-level. What I can do in one line in Ruby will take dozens.
I will really appreciate any pointers on how do I learn them. (no pun intended)
Before you start, you need to answer yourself why you're doing it. Unless you really have some inherent interest in the language, learning it just for the sake of learning will be tough because there is no instant gratification.
A good book to start learning C++ is Stanley Lippman's "C++ primer". Make sure you have the latest edition because it reflects the recent big changes in the language.
The best thing you can do when dealing with lower-level languages like C and C++ is understand that things like lists, strings, integers, floating point numbers, objects, etc. do not actually exist. They are simply abstractions. There are only the CPU and memory. You can think of the memory as a very very long array of bytes.Pointers are simply indices for that byte array. Roughly speaking, all that happens in a computer is the CPU fetches some bytes from memory which contain instructions and then modifies the bytes in some other region of the memory according to given instructions.
Once I realized the above things, a lot of other things immediately started making sense to me, so I hope this helps you or others.