从C转化到C++

来源:互联网 发布:linux查看网关 编辑:程序博客网 时间:2024/06/05 15:45

参考:Expert C Programming  P366-P268

1、char b[3] = "Bob";//在C中合法,在C++中不合法。

     sizeof('a');//C++中返回1,C中返回4。

2、C++允许一个常量整数来定义数组的大小,C中不允许。

     eg:   const int size = 128;

             char a[size];

3、C++中,声明可以出现在语句可以出现的任何地方,C中,所有声明必须出现在所有语句的前面。

4、C++中,一个内层作用域的结构名将会隐藏外层空间中相同的对象名;在C中并非如此。

5、当void*指针赋给另一个类型的指针时,C++规定必须进行强制类型转换,但在C中却无必要。

6、完整的函数原型声明在C++中是必须的,但在C中却没这么严格。

     C++支持引用参数的传递,而C不支持,但C中可以通过传递指针来达到这一目的。

7、C++中,由typedef定义的名字不能与已有的结构标签冲突,但在C中是允许的(它们分属不同的命名空间)。

8、C++中,用户代码不能调用main(),但在C中确实允许的。

原创粉丝点击