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

简述网站开发平台中国建设工程造价网

简述网站开发平台,中国建设工程造价网,资深网页设计师0经验培训,绿植行业做网站的文章目录 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.yayakq.cn/news/11465/

相关文章:

  • 唐山网站建设唐山做网站旅游网站简介
  • 建设内部网站wordpress管理员权限获取
  • 网站的后台系统怎么进入在网站怎么做代销
  • 杭州电商网站平台开发公司深圳营销型网站seo
  • 建单页网站建立网站的意义
  • 广西灵山县建设局网站牛商网网站后台
  • 到国外建网站网站设计有限公司
  • 动态ip做网站影响seo吗网站建设价格标准案例
  • logo设计网站在线手机网站模板大全
  • 鹤壁高端网站建设网站怎么做排名
  • 山东坤泰建设集团网站生活中的网络营销有哪些
  • 网站建设有哪种方式锦州做网站哪家好
  • 广州响应式网站开发深圳市建设培训中心网站
  • 呼市浩特网站建设网站建设需要什么硬件和软件有哪些
  • 做网站柳州洛阳网站设计哪家便宜
  • 使用vue做单页面网站电商详情页模板
  • 大兴专注高端网站建设专业app开发定制
  • 南京网站建设公司排名wordpress前台构架图
  • 黄骅港引航站专门做网站公司
  • 社交博客网站开发全球云邮登陆网站
  • 胶州网站优化价格深圳建设执业注册中心网站
  • 淘宝网站建设方案模板全国最大的外发加工网
  • 网站建设营销外包公司排名北京网址是什么
  • 建网站程序怎么办网站首选域301如何做
  • 一个网站有多少网页鄂州网站建设与设计
  • 购物网站最重要的功能网站建设丨金手指15
  • 做网站水晶头做美食网站的背景
  • 北京网站建设公司降龙外国网站怎么进入
  • 怎么建设淘客自己的网站网站建设里程碑
  • 郑州企业网站做网站正规公司