C++关于new,不懂就问系列

C++中为什么new出来的需要指针接收
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

规则就是这样,NEW 出一块内存给你,用那个地址去存东西,它也可以做成不用指针的,但是它没有做。

啊这,为什么不用指针接收?C++语言里也不可能用其他东西接收啊(C++在获取实例数组时会自动构造,不会像Java一样必须手动构造,因此像java那样用实例引用直接接收是不可能做到的设计。别用java去套c++的框架,二者的设计理念从根本上就不同。)
具体地讲,同样是这段代码:
A a;
在C++和Java中是完全不同的。Java中a是一个A的引用,现在没有初始化,相当于空指针;而C++的a这时已经隐式地调用了A的构造函数,是实例而不是引用。你总不能让已经构造的实例再去接收一个实例吧。
对Java而言,只有基本类型(如int)能获得基本实例,其他一切都只能通过引用来访问(或者new出的临时实例);而C++中,只有显式指定为引用的东西才是引用,其他的都是实例。
讲这个就是说:Java中这个a是引用,所以可以接收new出的实例;但C++中除了指针之外,不可能有任何东西能接收new的东西,否则就会与已经存在的语法相冲突。