C与C++区别之处

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值