Suggestions? How do I go from basic tutorials to real programs?

First off, I am generally a complete noob to C++ programming. I have done multiple basic tutorials for Arduino though, that introduced me to the hardware and basic programming. So, hoping to learn more, I picked up a neopixel style RGB strip to try and do something a little more advanced. Loaded up the example sketch and all works well, and I can see how you make calls in a sketch to make the pixels function. But the code for the neopixel library seems so much more advanced than anything tutorials cover that I don't even know how to ask the right questions. For example, I see all of the subroutines in the .h file (like setPixelColor), but why is the call to it in the .ino "strip.setPixelColor" where did the "strip." part come from? And myriad other questions... Anyway, I'm hoping someone can point me in the right direction as to what the next step would be to expand my programming ability and understanding. Perhaps a specific resource recommendation that helped those of you more knowledgeable folks along the way. Humble thanks for any guidance you can provide.

Sounds like time to go through some basic C++ tutorials. There are so many on the web it's hard to recommend just one. Go through and learn a bit about the language and that sort of stuff will start making sense. There's only so much you can learn by looking at example codes. Eventually you need something to just lay out all the rules and syntax for you.

Adafruit_NeoPixel is a C++ class and script is an object of that class
have a look at C++ tutorial
http://www.cplusplus.com/doc/tutorial/

I read several books while trying to get to grips with C++. The one that finally made it click was C++: The Core language. It's mercifully short but it did the job. It has nothing whatsoever in there about Arduinos though.

wildbill:
I read several books while trying to get to grips with C++. The one that finally made it click was C++: The Core language. It's mercifully short but it did the job. It has nothing whatsoever in there about Arduinos though.

I second the endorsement of this book. It does, however, assume a working knowledge of C.

where did the "strip." part come from?

The strip object is declared near the beginning of the program

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

Thanks for the pointers toward some resources, I will have a go at them!

In response to UKHeliBob: Boy do I feel stupid, I'm sure I looked at that line more than a few a times, and just didn't know enough that the answer was staring right back at me. Thanks for the clarification. Hopefully my further studies will continue to open my eyes.

Boy do I feel stupid, I'm sure I looked at that line more than a few a times, and just didn't know enough that the answer was staring right back at me.

Don't feel too bad, it happens to us all.

It does not help that some examples are smothered in comments which can sometimes obscure the underlying code.