C++升级知识点总结1

1、for功能增强

//功能一

for(int i =0;i<3;i++)

{

cout << i << endl;

}

//功能二

int array[3] = {1,5,6};

for(int temp : array ) //foreach用法直接数组内容依次传给temp

{

cout << temp << endl;

}

2、auto关键字

(1)C++中auto:类型推导 。

(2)C语言中auto修饰的变量称之为自动变量(生命周期)。

int num = 3;

auto num2 = num;

cout << num2 << endl;

3、bool类型

C++在C语言的基本类型系统之上增加了bool,其类型变量的取值只有true(非0)和false(0)。理论上bool只占用一个字节,但是如果多个bool变量定义在一起,可能会各占一个bit(取决于编译器的实现)。

bool flag = true;

while(flag)

{

cout << “hi” <<
endl;

flag = false;

}

4、三目条件运算符

C++中的三目条件运算符:

(1)当可能返回的值中为两个变量时,允许作为左值。

例如:( a < b ? a :
b ) = 12

(2)当可能返回的值中如果有一个是常量值时,则不能作为左值使用。

例如:(a < b ?
1 : b )= 30

原因:C语言返回变量的值,而C++语言是返回变量本身。

int a=3;

int b=4;

(a>b?a:b)=7;

cout << a<<b<<endl;

以上实用性增强测试完整代码及其结果:

#include

using
namespace  std;

int main()

{

//for

for(int i =0;i<3;i++)

{

cout << i << endl;

}

int array[3] = {1,5,6};

for(int temp : array ) //freach

{

cout << temp << endl;

}

//auto

int num = 3;

auto num2 = num;

cout << num2 << endl;

//bool

bool flag = true;

while(flag)

{

cout << “hi” <<
endl;

flag = false;

}

//三目条件运算符

int a=3;

int b=4;

(a>b?a:b)=7;

cout << a<<b<<endl;

return 0;

}

2020.03.06

嵌入式面向对象编程课程·C++对C的加强

二、实用性加强

5、register关键字

(与volatile联系起来)(C语言
VS  C++)

C语言:

(1)     
作用:尽可能地将修饰的变量保存在cpu的内部寄存器中,省去了cpu到内存中抓取数据的时间,提高程序的运行效率。

(2)     
修饰对象:频繁访问的变量。

(不能修饰全局变量,也不能修饰函数,只能修饰局部变量)

(3)     
格式: 如:register int num
= 5 ;

(4)     
注意事项:

①不能用&来获取register修饰的变量(变量在寄存器中,无法取数据所在内存地址);

②register修饰变量的数据类型:一定为cpu所接受的数据类型。

(5)     
static:既能修饰局部变量,又能修饰全局变量,也可修饰函数。

(6)     
volatile:防止编译器将修饰变量加载到寄存器中进行优化(格式volatile int
count = 5)。

C++升级:

升级:当用&获取寄存器变量的地址时,会将该变量重新加载到内存中。(可使用 &)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值