I am venturing into Arduino programming. I have done a lot of programming with the PIC using assembly language, but I don't know C or C++. What would be the best way to get started with learning C++? Are there tutorials geared towards micro processors or do I simply learn C++ in general. I have searched for tutorials specifically for Arduino only to find syntax examples but nothing specific to C++. Can anyone recommend a tutorial link, or their favorite book?
According to my limited knowledge (I'm neither a C- nor C++ expert), the C++ for the Arduino (aka AVR processors) is only a subset of the "normal" C++. For example, you can't create objects dynamically. Hence, the C++ for Arduino is rather a C with a few C++ goodies (e.g.
structs with methods) which help to limit variable scopes.
There aren't many (official) C++ implementations for 8-bit microcontrollers; C++ is rather resource-intensive; your \$\mu\$C might not have enough Flash and/or RAM. 8-bit \$\mu\$Cs are usually programmed in plain C.
Since you know neither C nor C++, I would start with C. It's not difficult if you don't make it difficult for yourself. (It's perfectly possible to write completely unreadable code in C.)
For one project my "softie" colleagues wanted to use OOP (on an HC08), but found that indeed it didn't have enough resources. So they wrote everything in C, but in their development process they created a kind of object model which in the end looked very much like C++ :-). Result: due to ever increasing resources (esp. RAM) us hardware boys had to switch from an 8-bitter to a 32-bit ARM (LPC2148).
If you know Java, or any other object oriented language, you basically know C++.
I am a beginner myself, but for easy arduino projects, you pretty much only use loops and arrays.
If you want to get fancy, you can use libraries Arduino and others have created for more advanced projects