C与C++的部分区别

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:此随笔长期更新

上一篇:jbpm4 回退、会签、撤销、*流


下一篇:VS2010中汉字拷贝到Word出现乱码问题解决