> How is that confusing to people with a C background? > Foo* foo = new Foo; would make people think foo is a pointer to an instance of Foo, not a reference. Furthermore it would be inconsistent with normal pointers (int*, ...)