That's the real challenge in any language. Most people that are willing to try coding can read a tutorial and follow instructions, iterate a little bit on it. But the real leap is trying something novel, and putting together all the tools a language offers you to solve problems. C++ gives you control at a deeper level. But with great power....
There's nothing stopping you too from doing something small in one language to get your feet wet, then moving on to a different language for your real work. Like I said, I programmed a text adventure out of a Python tutorial and then spent two days trying things as I read further through advanced tutorials, growing the program a good ways beyond where it functionally ended in previous tutorials. The point where I started getting into deeper Python stuff (what I guess now would be program scope and pointers and references) is where I started getting curious about C++ as a lower level language.
Put it this way. Python has this statement (and I'm rusty) that's something like:
For x in y: do stuff.
In C++:
for (x , x<z, x++)
do stuff
In lower level languages, you have to do stuff more explicitly. In higher level languages, it's been simplified by someone else....but in being simplified, you're constricted too. So it's really a question of how much control you want. The more control you want though, the more understanding you'll need (and the more work you'll have to do.)