首页 > 编程语言 > 详细

C++对c的增强和扩展

时间:2020-12-17 15:46:33      阅读:18      评论:0      收藏:0      [点我收藏+]

C++对c的增强和扩展

全局变量检测增强

int c;

int c = 10;

在C下没问题,在C++下不行,因为重定义。

函数检测增强

C语言:返回值,形参类型,参数个数没有检测

但是C++中检测了

类型转换检测增强

char *p = malloc(64)

 

c++下必须一致:

char *p = (char *)malloc(64)

struct 增强

C语言下结构体不能放函数:

C++下结构体可以放函数,可以简化关键字struct

C++可以通过结构体里的函数修改结构体里的变量

bool类型扩展

c语言下没有bool类型

 

c++下有bool类型:

bool会把非0的数转为1来处理。

true 1

false 0

其实也就是一个宏定义

三目运算符的增强

在c++下三目运算符其实返回的是一个变量

 

int a=10,int b=100;
a>b?a:b = 1000;
//b的值会被修改为100

在c语言下三目运算符返回的是一个值

const增强

c语言下const

全局const

在全局定义的const受到常量区的保护,是无法修改的

局部const

可以采用指针的间接修改来处理。

c++下const

全局const

和c语言是一样的,间接和直接修改都不行

局部const

通过间接修改可以编程完成,但是并不能修改

 

在c++中的函数中申明const变量的时候并没有把该变量放到栈中,反而是一种类似与宏定义的符号表,也就是一个键值对,const变量就是具体值

C++对c的增强和扩展

原文:https://www.cnblogs.com/beautiful7/p/14148906.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!