C++基础学习第四课

第四课

1,进制表示方法
例子:
	//十进制
	int dec1 = 520;
	//八进制
	int oct1 = 01010;
	//二进制
	int bin1 = 0b1000001000;
	//十六进制
	int hex1 = 0x208;
2,单引号隔开数字
int bin = 0b10'0000'1000;
3,auto自动类型推导

1,C++中使用auto自动类型推导

注意事项:
    1auto仅仅是一个占位符,编译时会被真正的类型替代;
    2auto不能在函数的参数中使用(但是可以作为函数的返回值)3,使用auto类型推导的变量必须立即初始化;
    4auto不能作用于非静态成员变量;
    5auto不能定义数组;
    6auto不能作用于模板参数;
4,for循环

1,C++中引入了基于范围的for循环;

定义:
    表达式1 :表达式2;
    表达式1:是范围内用于迭代的变量;
    表达式2:表示被迭代的范围;
例子:
    int arr[]={0,1,2,3};
    //一般用法
    for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
    {
        cout<<arr[i]<<endl;
    }
    //新用法
   for(int i: arr)
   {
       cout<<i<<endl;
   }

2,特点

·从数组的第一个元素开始,逐个赋值给迭代变量;

·不依赖于下标元素;

5,typeid

·typeid运算符用来获取一个表达式的类型信息,操作对象可以是表达式,也可以是数据类型;

用法:
typeid(datatype)//数据类型
typeid(expression)//表达式

·typeid会把获取到的类型信息保存到一个type_info类型的对象里面,并返回该对象的常引用;当需要具体的类型信息时,可以通过成员函数来提取;

//获取一个普通变量的类型信息
int n=999;
const type_info& nInfo=typeid(n);
cout<<nInfo.name()<<" "<<nInfo.raw_name()<<" "<<nInfo.hash_code()<<endl;
//输出:int .H 3440116983

//获取一个字面量的类型信息
const type_info& nInfo=typeid(3.14);
cout<<nInfo.name()<<" "<<nInfo.raw_name()<<" "<<nInfo.hash_code()<<endl;
//输出:double .N 3406561745

//获取一个普通类型的类型信息
const type_info& nInfo=typeid(char);
cout<<nInfo.name()<<" "<<nInfo.raw_name()<<" "<<nInfo.hash_code()<<endl;
//输出:char .D 3238785555

//获取一个表达式的类型信息
const type_info& nInfo=typeid(20*44);
cout<<nInfo.name()<<" "<<nInfo.raw_name()<<" "<<nInfo.hash_code()<<endl;
//输出:int .H 3440116983

·name():用来返回类型的名称;

·raw_name():用来返回名字编码;

·hash_code():用来返回当前类型对应的hash值,hash值是一个可以用来标志当前类型的整数,

6,内联函数

·C++提供了一种操作方式,允许编译时直接把函数替换到调用处;

定义:在函数前面加上inline声明为内联函数;

1,不能存在任何形式的循环语句;
2,不能存在过多的条件判断语句;
3,函数体不能过于庞大;
4,不能对函数进行取址操作;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值