You can Google C++ resources pretty easily. A good idea might be to figure out a few things you want/need to learn and try making a program that covers one or more of the topics you're looking at.
Here's an exercise for you that will be useful if you're learning about stacks: Write a program that will tell you if the brackets of a string are closed correctly. Here are some examples of correct and incorrect inputs:
CORRECT:
( )
[ ( ) ]
< { } [ ] >
( { [ ] } )
INCORRECT:
(
[ < ] >
{ < >
( ] )
Also just a quick explanation of stacks: A stack is a lot like a physical stack of pancakes or plates. You add and remove elements from the same end, meaning that the first item you put in (the first plate you set down) will be the last one you remove, no matter how many how many or how few plates you set down on top of it.
This is really BAD if you're making independent tasks wait on each other (for instance, if you have a server with multiple clients, the first client trying to connect to a server won't get a response for a really long time,) but it can be really GOOD if certain tasks are connected to each other, or for traversing hierarchies.
For instance, suppose you're designing an action menu for a game like this:
Move
Walk
Sprint
Act
Attack
Physical
Magic
Offensive
Fire
Thunder
Defensive
Heal
Revive
Items
Healing Potion
Antidote
You can use a stack to keep track of where you are in the menu in order for you to be able to go back to the previous menu. If you were to traverse from the root menu to "Fire," but then changed your mind and navigated back to the root menu in reverse, what would happen?
Your collection of items will read [ root, Act, Attack, Magic, Offensive, Fire ]
If you use a queue (bad) when you go to remove an item, it will take you to root (because it was the first thing you added while traversing the menu.) Except the back button is only meant to take you back ONE menu. Worse, if you hit back twice, you end up in Act, and continuing to press the back button will take you FORWARD through your options as though it's replaying the selections you made earlier!
If you use a stack (good) you'll remove items in reverse order; from Fire, it will take you to Offensive, then Magic, etc. This is expected behavior and works because most recent items added to your stack are the ones most contextually relevant to where you are at that moment. Hopefully this gives you an idea of why a stack is good for the little bracket exercise I gave you.