C++基础入门(6)

一、decltype关键字

decltype是识别类型,用于定义,和sizeof相当,但不用来计算大小,也不用像auto一样定义初始值。

struct Student
{
  char s_id[10];
  char s_age;
}
int main()
{
  int x=10;
  sizeof(x);//4
  decltype(x) a;//int
  Student s1;
  decltype(s1) s2;//Student

它是对括号里的表达式推导。

int main()
{
  int x=10;
  decltype(x) a;
  decltype(++x) b=x;
  decltype(x++) c=x;
  cout<<x<<endl;
}

这里x是10,因为推导在编译时进行,不执行代码,只是推导出类型为int。

如果表达式返回的是参与运算的值本身,是引用类型

类型的名字和表达式中名字相一致

如果返回的是一个亡值,就是引用,如果是一个具体存在的值,就是它本来的值。

二、基于范围的for循环

在C98中,不同的容器和数组,遍历的方法不尽相同,写法不统一,也不够简洁,而C++11基于范围的for循环一统一简洁的方式遍历容器和数组,用起来更方便。

改进:

三、指针空值nullptr

nullptr是一个所谓的指针空值类型的常量。

虽然和NULL基本没有区别,但是 类型不同。

可以避免用NULL将整型与指针类型概念混淆。

四、typedef与using

typedef是将一切合法的变量定义转成类型声明

using是类型的重命名规则

好处是:using可以与模板 无缝衔接

五、String的简单使用

#include <string>//C++ stl string

#include<string.h>//c API函数

#include <cstring>//c API函数

前面带c就 被认为是C的函数库

所以,尽可能使用string。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值