博客
关于我
C与C++区别
阅读量:349 次
发布时间:2019-03-04

本文共 602 字,大约阅读时间需要 2 分钟。

c与c++的区别

(1)C语言是面向过程,C++是面向对象。C++是C语言的一个超集。

(2)数据类型:bool类型。C语言没有
(3)标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。C语言中没有字符串类型。
(4)返回值
C中:如果函数未指定返回值类型,则默认为int
c++中:如果一个函数没有返回值,返回值类型必须指定为void
(5)参数列表
C中:如果函数没有指定参数列表,则默认可以接受任意多个参数
C++中:有严格的类型检测,没有参数列表的函数默认为void,不接受任意参数
(6)缺省参数(即给参数一个默认值)
C:不支持
C++:支持(如果没有指定实参则使用缺省值,有则使用指定实参)

  • 默认实参必须在参数列表的结尾
  • 默认参数只能出现在函数声明或者定义二选一中
  • 缺省值必须是常量或全局变量
  • 缺省参数必须是值传递或者常参传递

(7)函数重载

C:不支持
C++:支持在同一作用域中存在几个功能类似的同名函数,但参数列表(参数个数、类型、顺序)不同
(8)引用和指针(C中没有引用有指针,C++中都有)
引用:可以看做是一个变量的别名

  • 必须初始化
  • 一个变量可以有多个引用
  • 引用一旦初始化,就不能在成为其他变量的引用
  • 数组不能被引用

引用与指针的异同:

  • 同:底层实现相同
  • 异:1.引用必须初始化
    2.引用一旦绑定就不能更改
    3.++的结果不同
    4.有多级指针,没有多级引用

转载地址:http://amir.baihongyu.com/

你可能感兴趣的文章
vue自定义封装Loading组件
查看>>
解决移动端项目中苹果ios和安卓android手机点击输入框网页页面自动放大缩小
查看>>
Element UI 中动态路由的分析及实现
查看>>
使用springMVC配置视图管理器后找不到指定的页面
查看>>
关于js中对于Promise的深入理解
查看>>
对于js中的this指向的深入理解
查看>>
杭电 2007 平方和与立方和(输入数据的大小顺序并不能默认)
查看>>
十大排序算法之三:插入排序(Python)
查看>>
利用Python实现循环队列
查看>>
十大排序算法之四:希尔排序(Python)
查看>>
利用递归实现二叉树的前中后序遍历(Python)
查看>>
A*寻路算法(Python)
查看>>
Python刷题输入输出
查看>>
冒泡排序又来啦(C/C++版本)
查看>>
python负数存储
查看>>
求二维数组中最大值的位置
查看>>
python中sort和sorted的区别
查看>>
防碰撞算法
查看>>
在vue中添加echarts
查看>>
vue中echart数据动态切换,一看就懂
查看>>