为什么叫C++而不叫++C ?

  在讨论这个问题之前,我们先讨论一下自增和自减操作符。其它的话就不说了,先给个例子:

   

int i=0,j;

j=++i;    //j=1;i=1
j=i++;    //j=1;i=2

  虽然都使操作数加1,但是区别在于++i返回的是加1后的值,即返回的是对象本身。即将自己先加1再返回,返回的是对象(变量)本身,即是左值。而后置操作先返回一个值,然后再将自己加1,所以后置操作返回的是右值。建议:养成使用前置操作的好习惯。但是这跟C++和++C有什么联系呢???

  我们知道C++之名是Rick Mascitti在1983年夏天定名的(参加The C++ Programming Language),其本质上是从C语言演化而来的,++是C语言的自增操作符,是先有了C,再进行++。根据自增操作符前、后置形式的差别,C++表示对C语言进行拓展之后,可以先返回一个C,即还可以使用C语言的内容;然后再使用对C语言的扩展内容;而++C表示返回的就是C加1后这个对象,其返回值不再是C了,即表示无法再使用C的原始值了,也就是C++不能向下兼容C了,这与实际情况不符。所以,C++应该不是凭空而来的。。。

 

posted @ 2013-03-31 10:07  zxwAAA  阅读(629)  评论(0编辑  收藏  举报