For once I agree with eXpl0it3r....
You should probably learn c++ before you try using it. And your question is extremely broad, to the extent that it even extends to the programming model your using... OOP, ECS, etc... Your just going to have to figure out a model and run with it, then you can easily find a way to single out specific segments of your program such that it reduces or even erradicates redundancy....
GL