In his blog, Lauro Ojeda describes how to program the EV3 using C++. In particular, he focuses on mobile robot navigation, developing software that allows a differential drive robot to keep a precise estimation of its pose using the Rotation Sensors embedded in the motors and a gyroscope.
He has released the Robot Navigation software, that allows developing mobile robot applications of different levels of complexity. The current version supports robots based on the the Lego Mindstorms EV3. The web site includes instructions for how to compile and use it in Windows and Linux.
In the video, you can see a demo application. Using the arrows on the computer keyboard, the user drives the robot around, and then requests the robot to return to the home position.