Your best bet is to find a complete course, and as a Stanford student who has taken the iOS programming course, I can tell you that I learnt a ton. Videos are good, but you won't get enough practice. The same goes for book, there are a lot of examples but the learning by example is very limited.
By taking a complete online course, you will have lectures, videos, examples, sample code, and most importantly, you will get homework's. As a CS major, the most effective way that I have found to learn to code is to practice by example, and the homework's assigned in university courses are designed to make you learn and apply the specific skills that you have learnt in past lectures.
What worked for me was porting simple programs I'd written (in Java) to the iPhone. Java is actually pretty similar to Objective C, and some of it was literally just cut and paste. I imagine C++ is very similar too. At first the programs weren't even visual- they were essentially just command-line programs. That way I could focus on learning the basics of the language before learning all the high-level libraries.
Once you get "hello world" working it shouldn't be too hard to build simple programs off of that. Porting an existing program might provide useful structure to your learning if that's your style. Good luck!
Then you can watch a few of the videos that kind of gives you a hands-on feeling since some of the drag/drop, ctrl-drag are something to see rather than to read and keep in mind. Rory Lewis and AzamSharp videos helped me a lot while Ray Wenderlich book gave some nice step-by-step instructions.
Armed with these you basically should start a real project of yours so you can learn things on the fly and those would last in your memory longer than any tutorials. Good luck! Believe me....it's hard but not crazy.
Also if you're looking for a good book about iOS http://www.amazon.com/gp/aw/d/1430236051/ref=redir_mdp_mobil...
For learning the ins and out of objective c I've heard this is a good book: http://www.amazon.com/gp/aw/d/0321706285
Good luck!
For resources, I've found that once you get through either the first few Stanford classes or a good book or two, Google and Stackoverflow are the only references I need. For getting started though, the tutorials (and forums) at Ray Wenderlich's site are also a great resource: http://www.raywenderlich.com/tutorials
So I took a week off and went to Chicago for one of the Pragmatic Studios courses (http://pragmaticstudio.com). Being able to focus on that was exactly what I needed.
YMMV of course, but I thought I'd throw in an alternate option.
Learn iPhone Development: http://www.youtube.com/playlist?list=PL53038489615793F7&...
http://www.amazon.com/Beginning-iPhone-Development-Exploring...
The book is kind of dated, so I would recommend looking for something more recent.
This seems like a pretty good book, I bought the one I linked above, but reading isn't really my thing. I learn better through seeing.
The professor is very good, the lectures are current as of iOS 5, and they've made the slides and code available as well.
I also bought a bunch of iOS development books but never ended up needing any of them. Between Apple's tutorials (and the skeleton apps built into xcode- check those out they are correctly designed) you can learn a lot and do anything you want. Every feature has a tutorial or example program (and you can search the example code by API call to find the relevant ones.)
Also, these days with Storyboards its a whole lot easier to develop the UI for your apps.
It really isn't that hard-- in fact, it is, by far, the easiest to develop for UI I've ever seen. (easier than Mac OS and a whole lot easier than Windows or Swing.)
All the other resources listed in this thread are good too-- just pick what works best for you. The stanford course, for me, for instance, was too slow, I am always wanting to learn a specific thing at any given point in time and don't have the patience to work thru the course--- but if you want to work thru the course by watching a video each day without firing up Xcode because you spend your days writing code elsewhere, that might be the best way.
Any competency in C++ will mean you shouldn't have too much of a problem-- hardest part is going to be using C++ again after the glory that is Objective-C!