C++非面向对象特性

C++和C在非面向对象特性上的一些区别

1)C++是强类型语言,C++要求声明每个程序实体的类型,并在编译期间进行类型检查,因此比C更加安全。体现在:

  1. C++要求函数必须有原型声明,而在C中这不是必须的。编译器将会检查每个函数的参数类型和参数个数,并在函数调用时进行类型转换。
  2. 类型安全连接:C++会通过编译单元检测出不正确的函数调用,C++的函数标记是函数名和参数类型的顺序组合
  3. 类型安全I/O:C++iostream库会使用一个对象的类型决定正确的输出,而无需在编程时需先决定输入输出的类型。

2)灵活的局部变量定义:C++允许在任意位置进行局部变量的定义。这使得循环的使用更加灵活

for (int i=0;i<max;i++) {
}

3)I/O流控制:
cin和cout是C++预定义的标准输入输出设备,<< 和 >> 是重载运算符,用于向输出流中插入或向输入流中抽取数据。
C++输入输出流的控制:
在这里插入图片描述

在这里插入图片描述

4)C++动态内存分配使用new和delete函数代替了malloc和free

5)C++用单引号引用表示字符,用双引号的引用表示字符串。对于单个字符,与其对应的ASCII码完全等价。
在这里插入图片描述字符数组的数组名表示数组的首地址,是指针但这个指针是指针常量而非指针变量,所以只能在定义时赋值,而不能在定义后再对其直接赋值,(可以用strcpy或者memcpy进行赋值)。而一个字符指针可以随意对其赋值。字符串以‘\0’结尾,系统会对用户定义的字符串后自动加上这个终止字符。

6)void指针:无类型指针。因为不知道地址所指向数据的数据类型,因此void指针不能够进行指针运算,也无法进行间接引用,只能单纯的存放一个地址。

  • 在这里插入图片描述

7)引用与指针
8)const常量
9)define宏定义
带参数的宏定义:
在这里插入图片描述
带参数的宏定义与函数的区别:
宏定义与函数定义有本质的区别,宏定义的参数不分配内存,无类型,表达式不求值并且宏展开在预编译时进行,只占用编译时间,不占用程序运行时间。
预处理撤销:undef

9)条件编译
10)函数和结构体声明时可以加入缺省值
11)内联函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值