C++数组常用特性

点赞保代码,点赞避bug!

 int nums[] = { 1,2,3 };
  int* p = &nums[0];//p是nums数组第一个元素的指针
  cout << p << endl;
  int* p1 = nums;//p1也是nums数组第一个元素的指针
  cout << p1 << endl;
  if (p == p1) {
    cout << "p=p1" << endl;
  }

在这里插入图片描述

很多用到数组名字(如nums)的地方编译器自动将其替换成指向数组(nums)第一个元素(nums[0])的指针;

auto p2(nums);//p2是一个指向nums[0]的整型指针
  cout << p2 << endl;
  if (p == p1 && p1 == p2) {
    cout << "p=p1,p1=p2" << endl;
  }

在这里插入图片描述
数组被用作decltype关键字的参数,或者作为取地址符(&)、sizeof及typeid等运算符的运算对象时,上述转换不会发生。同样的,如果用一个引用来初始化数组,上述转换也不会发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代数狂人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值