c++ experience