C++,C#,Python

1、C++的思路:无论是基本类型,还是类类型,对象的传递提供了两种方式,一个是整体拷贝,一个是复制引用。整体拷贝对应着copy构造和copy赋值,复制引用就是通过引用或者指针实现的,当然指针本身还是整体拷贝,也可以是引用。

  C++对象既可以分配在栈上,也可以分配在堆上,分配在堆上的对象必须手工delete

2、C# 的思路:类类型整体拷贝,代价大,基本类型代价小。基本类型是整体拷贝,类类型是复制引用。C#中的引用是对C++引用的强化,和C++指针的弱化。

  C++中引用必须是一个对象的别名,而且必须至始至终是这个对象的别名。

  C++指针可以修改指向对象的内容,可以修改指针的指向,也可以对指针加加减减。

  C# 的引用,可修改指向对象的内容,也可以修改指向,但是不能对引用加加减减。

  C#中的类类型永远分配在托管堆上,会有GC负责回收内存。

3、Python的思路:把变量和实体彻底分开,变量可指向任何实体,不需要指定变量的类型,修改变量,表达的意思是:使它指向另一个实体。

posted on 2013-11-28 19:35  Andy Niu  阅读(610)  评论(0编辑  收藏  举报