1.函数无形参情况
void test()
{ } int main()
{
test(,); return ;
}
在C语言中形参括号没有参数时代表接受任意多的参数,而在C++语言中代表void(无参数)
所以上述函数在C文件中不会报错,并且成功的调用,但是在C++中会报参数过多的的错误
2.结构体struct
在C语言中并没有面向对象的概念,但是C++中的类class衍生于C语言中的struct,所以,C++中的struct实质上为成员和函数全为public的类,也可以定义构造函数等
struct test class test
{ {
int i; public:
int j; int i;
} int j;
}
3.const变量
C语言中const变量只是将变量变成只读变量,C++中const将变量变为常量(与define)相同,但是类成员中const成员是只读变量
只读变量与常量的区别,他们都不能直接修改,但是只读变量可以通过指向他的指针来修改他的值,而常量不准任何方式修改
const int i=; int *p=(int *)&i; *p=;
C中可行,C++类成员变量可行,但是C++其他变量不可行
4.函数标识区别
C语言中通过函数名唯一标识函数,所以不存在函数重载,C++中通过函数名和参数列表来标识函数,所以函数名相同是可以的,即函数重载
PS:此随笔长期更新