guide for cpp developers