>> Can you list those features? > One was already mentioned by Stephen Leake: refactoring. Another is navigation to definitions. Last I heard, Semantic doesn't understand C++11's "auto" keyword well enough to infer the type it resolves to, and to enable navigation when auto is in use. Semantic also doesn't find definitions across shared_ptr properly, eg: std::tr1::shared_ptr a(new A); a->foo(); // I want to navigate straight to A::foo