C语言与C++的比较

来源:互联网 发布:手机淘宝首页热点 编辑:程序博客网 时间:2024/05/18 02:26
  1. 文件区别:
    1) C语言文件后缀是.C;
    2) C++源文件后缀名是.cpp;
  2. 返回值区别:
    1) C语言中,如果一个函数没有返回值类型,默认返回int;
    2) C++中,如果一个函数没有返回值,则必须指定为void;
    3.参数列表:
    1)C语言中,如果没有指定参数列表则默认为可以接受任意个参数;
    2)C++中,如果没有指定参数列表则默认为void,不接受任何参数;
    4.定义变量:
    1)C语言在中,所有变量的定义必须在所有语句之前;
    2)C++中,变量只要被定义在被用之前即可,在类中,变量由于被编译系统优先识别,故可放在类中的任何地方;
    5.缺省参数:声明或定义函数时为函数的参数指定一个默认值,在调用该函数时,如果没有指定实参的值则采用默认值,否则使用实参指定的默认值(编译器在调用这个函数之前就调用了这个默认值)—带缺省值得参数必须从后向前,不可跳跃;
    1)C语言不支持函数的缺省参数;
    2)C++支持函数的缺省参数;
    6.函数重载:同一作用域中,函数名相同、形参列表(参数的个数、类型、顺序)相同;
    1)C语言中不支持函数重载;
    2)C++支持函数重载;

问题:为什么在C中不支持函数重载而C++中可以?
答:因为C语言中名字修饰规则的原因,编译器在链接时会在函数名前加“—”,致使C语言中不支持函数重载。
7.引用:给变量取别名
C语言不支持,而C++支持引用;
8.命名空间:
C语言不支持,而C++支持引用;

1 0