cpp learn & tools