C与C++区别之处

来源:互联网 发布:php清除cookie 编辑:程序博客网 时间:2024/05/19 20:43

1、int func()

         C :不确定参数数目,func(void)才表示空参数列表。

         C++:0个参数。

2、func(int a)

        C :返回类型默认为int型。

        C++:函数必须有返回值类型。

3、bool类型

        C:支持C99标准的编译器才支持bool类型,老编译器不支持bool类型。

        C++:支持。

4、定义变量的位置

        C:强制在作用域的开始处就定义所有的变量,以便编译器创建一个块时,能给所有这些变量分配空间。

        C++:允许在作用域的任意位置定义变量(只要在使用之前定义就好),减少了在一个作用域内不停地来回跳转造成的问题。

5、类型转换

         C:类型转换出现故障,很难确定C风格转换的位置。

         C++:用显式转换语法,能更容易发现它们,因为通过名字就能找到。(如果不破坏代码,是不会认为C风格转换不合法,只是不容易找到相应的位置,为排除故障增加难度)

6、指针转换

        C:C不允许随便将一个类型的指针复制给另一个类型,但允许通过void*来实现,C语言允许下面的实现方式。

bird* b;dog* c;void* e;e = b;c = e;
        C++:C++不允许这样做,编译器会给出一个错误信息,如果想将某种类型当做别的类型处理,须显式地使用类型转换,通知编译器和读者。


0 0
原创粉丝点击