在geeksforgeeks上看到一篇文章,说的是一些在C中可以编译但在C++中不行的程序,觉得比较好玩,就翻译分享一下啦。
- 在C++中,在main()中使用其它自定义的函数时必须在前面写上声明或者定义,但是在C中却可以写在main()的后面
1 |
|
上面的程序在C中可以编译成功,但是在C++中就不行
- 在C++中,指针是不能指向一个常量的,但是在C中可以
1 |
|
- 在C语言中,一个空指针可以直接指派给其他指针,如int,char 。但在C中,必须指定类型
1 |
|
- 下面的程序在C中可以编译,但是在C++中不行,必须为常量初始化
1 |
|
Line 4 [Error] uninitialized const ‘a’ [-fpermissive]
- 在C中可以用C++的一些特定的关键字作为变量名
p.s. 这是自然,汗
1 |
|
- C++的检查会比C更严格,如:
1 |
|
error “invalid conversion from ‘int’ to ‘char*’”.
试了一些,确实是这样,感觉蛮有趣的!