C++对C语言的增强

版权声明: https://blog.csdn.net/qq_40794602/article/details/85094862

全局变量检测增强:

int a;
int a = 12;
//以上两行代码在全局作用域

 如果是在C语言中,以上代码可以编译通过,但是在C++语言中不可以编译通过

函数检测增强,函数参数类型检测增强,函数返回值检测增强,函数调用参数增强

类型转换增强:

int  a = malloc(sizeof(int));

malloc返回一个void*类型的变量,在C语言中可以编译通过,但是在C++中不可以编译通过

struct类型增强:

  • C语言中struct中不可以有函数C++中可以有函数
  • C语言中定义自定义结构体的变量,需要加上struct关键字,C++中不需要

bool类型增强:C++新增C语言没有的bool类型

三目运算符增强:

//对于C++三目运算符返回的是变量,对于C语言来说,三目运算符返回的是数值
a>b?a:b = 100;  //c++支持这样的写法,但是C语言不支持
*(a>b?&a:&b) = 100;  //不过C语言可以使用这种方法来实现

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/85094862