Visual studio is okay. I haven't dealt too much with c++ BEFORE. now that i'm working in Unreal, i am dealing with it a lot.
No need to pay anything, any and all programming you can learn online for free. Tons of free tutorials web/video on the internet. That's a great aspect of programming and internet.
I'd say pick up some beginner projects on the console (if statements, loops, functions, variables, classes, etc...), maybe using dev-c++ or any ide that supports console apps. Then when you have an solid grasp of the concepts, this being a gamedev site; switch to unreal to really start implementing and learning practically. For me the best way to learn is when applying to a project or something i have interest in.
There's probably like an online c++ compiler/editor, if that's your fancy.