C到C++的升级(学习笔记)

一、C++与C的关系

1.C++是C的后代,C++继承了所有C特性。
2.C语言带有许多低级语言的特性,C++在C的基础上增加了更多的语法和特性:支持面向对象(最为重要)、类型加强、函数加强、异常处理等。
3.C++的设计目标是运行效率和开发效率的统一

二、C到C++的升级

1.C++更为强调实用性
例1 C++中所有变量都可以在需要时再定义,而C语言中变量都必须在作用域开始的位置定义
int c = 0;
for(int i = 0;i < 100;i++)
{
    for(int j = 0;j < 100;j++)
    {
        c = i + j;
    }
}

2.C++中支持register关键字以兼容C语言
在C语言中无法获取register变量的地址,C++中可以获取register变量的地址(C++编译器有自己的优化方式)
对于register变量的处理由编译器决定,有单片机裸机编程经历的小伙伴可以看看Keil是怎么处理的。
3.在C语言中,重复定义多个全局变量是合法的,而在C++中是不合法的,C++拒绝这种二义性的做法。
4.struct关键字的加强
C语言中struct定义的是一组变量的集合,struct定义的标识符并不是一种新的类型,而C++中用于定义一个全新的类型
5.C++中所有的标识符必须显示声明类型,而C语言许多默认类型(潜规则)在C++中是不合法的
例2 请问 int f()与 int f(void)的区别,如果有区别,是什么?
答:如果使用C++的编译器编译,没有区别
        如果使用C的编译器编译,有区别。前者,为返回值为整型,接受任意参数的函数;后者为返回值为整型的无参数函数。

三、小结

1.C++比C更加严谨和实用
2.C++中的register只是起一个兼容的作用
3.C++编译器能够更好的优化
4.C++标识符必须显示和指明类型,C++比C更加明了直观。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值