c++对比c语言进行了哪些增强,一起来看看吧


前言

众所周知,c++是基于c语言的基础创造出来的,那么c++对比c语言哪些地方得到了优化呢,让我们一起来看看吧。


一、全局变量检测增强

c语言只对局部变量有重定义检测,对全局变量不会进行重定义检测,c++对此进行了优化。

代码如下:

int a = 10; //赋值,当做定义
int a; //没有赋值,当做声明

int main(){
   
	printf("a:%d\n",a);
	return EXIT_SUCCESS;
}

此代码在c下编译通过,在c++下编译失败,会显示重定义错误。

二、函数检测增强

1.参数类型检测

代码如下(示例):

void getRectS(w, h)
{
   
}

如图所示,该函数没有定义参数类型,在c语言中可以传递任何类型的参数,而在c++下会发生报错,c++要求必须明确函数参数类型。

2.返回值检测

代码如下(示例):

int getRectS(int w, int h)
{
   
}

如图,该函数设定的返回值为int型,而实际返回值为空,该写法在c语言下可以跑过,而在c++中则会发生报错,c++要求实际返回值类型必须和设定值类型相同。

3.传参个数检测

int getRectS(int w,int h)
{
   
	return w+h;
}
void 
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++相对于C语言有一些重要的改变和扩展,下面列举了其中一些主要的变化: 1. 面向对象编程:C++引入了类和对象的概念,支持面向对象编程。你可以使用类来封装数据和方法,并通过对象来访问和操作这些数据和方法。 2. 类型检查和安全性:C++提供了更严格的类型检查和更丰富的类型系统。它引入了新的数据类型,如引用、模板、命名空间等,以提供更好的类型安全性和代码重用性。 3. 异常处理:C++引入了异常处理机制,允许程序在运行时发生异常时进行适当的处理。这使得程序能够更好地应对错误和异常情况。 4. 标准模板库(STL):C++标准库中包含了一个强大的模板库,称为标准模板库(STL)。STL提供了一组通用的数据结构(如向量、链表、栈、队列等)和算法(如排序、搜索、迭代等),可以大大简化和加速开发过程。 5. 函数重载:C++允许你定义具有相同名称但参数列表不同的多个函数,称为函数重载。这使得你可以根据不同的参数类型和数量来调用不同的函数。 6. 命名空间:C++引入了命名空间的概念,允许你在程序中使用不同的命名空间来隔离和组织代码。这有助于避免命名冲突和提高代码的可读性和可维护性。 这些是C++相对于C语言的一些重要改变和扩展。C++在保留了C语言的特性和语法的同时,引入了许多新的概念和功能,使得它更加强大和灵活。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值