Arduino as a tool for learning C++?

Hey everyone, Im new to Arduinos and new to C++, and was wondering how effective a tool it was for learning the language, or if I should focus more on learning the language first. I was under the impression Id have better results doing the former, as Im a more 'applied' learner myself, and learning for me is usually easiest when problem solving and/or applied, but as Ive tried to learn, people have gotten frustrated with me still having yet to learn some basics.

As of right now, Ive managed to successfully teach myself most of the fundamentals of C++, so far as understanding objects, functions, operators, headers/libraries, and user/library defined functions/objects, and I can look at code and make a decent amount of sense of it based on that, but I do not understand so much about structure, or how I would ever go about writing something, or even trying to make something using pre existing libraries. Not that I dont think I couldnt still effectively learn this way, just thought I should ask for other's insight.

And unfortunately, taking classes is not an option, working a 9-5 and couldnt find any night classes nearby. Thanks!

And as far as trying to teach myself, Im using something (I consider) to be fairly beginner, just an UNO with a DHT22 temp/humidity sensor to an OLED screen, with a modified adafruit sensor library and u8g2 library respectively.

Hi,
I agree: coding with no hardware is not a good learning environment.

A couple of books I've used are good:

Beginning C for Arduino, Second Edition: Learn C Programming for the Arduino

DISCLAIMER: I am the technical editor of that book; I don't make any future money on it!

Beginning Arduino (Technology in Action)

I think this is the best overall Arduino book and lots of programming examples and projects.

Sorry, I was a bit delayed to add, but I do have hardware and a decent head start so far.

Just do it. Pick the board and whatever sensors, LED, does not matter. Install and run the IDE. Blink your leds, feel the temp and humidity, whatever looks appealing to you.

The best code in the world is the one which is written. :-).

Hey everyone, Im new to Arduinos and new to C++, and was wondering how effective a tool it was for learning the language, or if I should focus more on learning the language first.

Speaking from personal experience, learning the language with hardware is a lot more enjoyable than learning the language on it's own because Arduino gives you a fun context to work in. Plus, understanding how language interacts with the hardware really grounds your understanding of why the language is the way it is.

If you need another good read, check out Exploring Arduino. This book moves quickly, but explains concepts well and covers a broad spectrum of topics from blinking an LED to networking with Arduino.

Good luck!

Hello,
first time i learn about arduino, i have start learn c++ programming with

[u]Arduino Playground - HomePage
its Brian w.Evans books and its very support me when coding the Arduino module.

I start with Arduino kit module, and start with LED, buzzer, photoresistor, etc.
Untill now i still using that books. Thats books helps me considering the code reference to arduio.

Hopefully it would help.