当前位置: 首页 > news >正文

手机网站 开发者模式无锡百度竞价公司

手机网站 开发者模式,无锡百度竞价公司,重庆网站供奉战犯,椒江建设工程机械厂网站文章目录 1. 使用范围for循环2. 使用普通for循环2.1 使用指针2.2 使用数组下标 类型别名的简化 本文来自于《C primer》的练习3.43-3.45,觉得多维数组的遍历有不同的实现方式,于是记录一下。写的可能没有按题目的顺序来。题目大概含义是定义了一个二维数…

文章目录

  • 1. 使用范围for循环
  • 2. 使用普通for循环
    • 2.1 使用指针
    • 2.2 使用数组下标
  • 类型别名的简化

本文来自于《C++ primer》的练习3.43-3.45,觉得多维数组的遍历有不同的实现方式,于是记录一下。写的可能没有按题目的顺序来。题目大概含义是定义了一个二维数组的元素,要求按照行列打印出来(用不同的方式)。

在这里插入图片描述

初始代码

#include <iostream>
#include <iterator>
using namespace std;
int main()
{int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}};\*write your code*\
}

输出结果

在这里插入图片描述

1. 使用范围for循环

这里使用auto关键字

#include <iostream>
#include <iterator>
using namespace std;
int main()
{int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}};for (auto &p : a){for (auto &q : p)cout << q << ' ';cout << endl;}
}

p和q的类型是什么?

auto &p ↔ \leftrightarrow int (&p)[4] ,代表一个引用,引用对象是整型的长度为4的数组
auto &q ↔ \leftrightarrow int (&q) ,代表一个引用,引用对象是整型
上面的代换可以直接代入代码中。

2. 使用普通for循环

2.1 使用指针

使用指针有两种方式:

一种方式是直接进行指针操作

#include <iostream>
#include <iterator>
using namespace std;
int main()
{int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}};for (auto p = a; p != a + 3; ++p){for (auto q = *p; q != *p + 4; ++q)cout << *q << ' ';cout << endl;}
}

另一种方式是使用标准库函数beginend得到数组的头元素指针和尾后元素指针(数组最后一个元素后一个位置的指针):

#include <iostream>
#include <iterator>
using namespace std;
int main()
{int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}};for (auto p = begin(a); p != end(a); ++p){for (auto q = begin(*p); q != end(*p); ++q)cout << *q << ' ';cout << endl;}
}

p和q的类型是什么?

auto p ↔ \leftrightarrow int (*p)[4] ,代表一个指针,指向的对象是整型的长度为4的数组
auto q ↔ \leftrightarrow int (*q) ,代表一个指针,指向的对象是整型

2.2 使用数组下标

#include <iostream>
#include <iterator>
using namespace std;
int main()
{int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}};for (size_t i = 0; i != 3; ++i){for (size_t j = 0; j != 4; ++j)cout << a[i][j] << ' ';cout << endl;}
}

上面的p对应的类型是int[4](长度是4的整型数组),我们可以使用类型别名简化。

类型别名的简化

这里以指针为例,引用也是一样的

第一种写法用的是using关键字

#include <iostream>
#include <iterator>
using namespace std;
using int_array = int[4];
// typedef int int_array[4];
int main()
{int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}};for (int_array *p = a; p != a + 3; ++p){for (int *q = *p; q != *p + 4; ++q)cout << *q << ' ';cout << endl;}
}

另一种写法是使用typedef关键字

#include <iostream>
#include <iterator>
using namespace std;
typedef int int_array[4];
int main()
{int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}};for (int_array *p = a; p != a + 3; ++p){for (int *q = *p; q != *p + 4; ++q)cout << *q << ' ';cout << endl;}
}

参考

  1. 《C++ primer》112-116
http://www.yidumall.com/news/49049.html

相关文章:

  • 网站开发论文参考文献长春网站建设路
  • 办公室装修设计方案seo优化软件哪个好
  • 如何给网站建设提意见网络推广营销方式
  • 推荐手机网站建设网络软文案例
  • 广州市技师学院百度网站快速优化
  • 怎么导出wordpress 整个网站app下载免费安装
  • 2015手机版网站制作深圳百度关键字优化
  • 医院网站建设标书免费引流微信推广
  • 假发外贸网站模板网络营销与网站推广的区别
  • 城市网站建设意义网站维护需要学什么
  • 教育网站制作软件vi设计
  • 比较有创意的广告百度app关键词优化
  • 制作网页时创建超链接关键词优化seo优化
  • 福州网站seo优就业seo
  • 莱阳网站开发北京网站优化seo
  • 太平阳建设集团网站关键词搜索趋势
  • 盱眙网站建设公司南宁seo收费
  • 开网站建设公司论坛推广的步骤
  • 网站开发前后端技术sem和seo有什么区别
  • 做外贸自己的公司网站深圳营销推广公司
  • 网站怎么做推广和宣传语网页模板设计
  • 青岛seo公司网站北京推广
  • 产品做网站关键词推广排名
  • 一个人怎样做网站百度视频推广
  • 可以做动漫网站的源码源码怎样把广告放到百度
  • 独立网卡需不需要驱动网站seo哪家做的好
  • 青田网站做服装找工作乐清网站建设
  • 商城网站项目策划书一个万能的营销方案
  • 涟水建设局网站企业推广软件
  • 北京简网科技有限公司seoshanghai net