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

网站建设文化策划搜索引擎优化实训心得

网站建设文化策划,搜索引擎优化实训心得,免费室内设计师,wordpress自由度文章目录测试环境array介绍头文件模块类定义对象构造初始化元素访问容器大小迭代器其他函数测试环境 系统:ubuntu 22.04.2 LTS 64位 gcc版本:11.3.0 编辑器:vsCode 1.76.2 array介绍 array是固定大小的序列式容器,它包含按严格…

文章目录

    • 测试环境
    • array介绍
    • 头文件
    • 模块类定义
    • 对象构造
    • 初始化
    • 元素访问
    • 容器大小
    • 迭代器
    • 其他函数

测试环境

系统:ubuntu 22.04.2 LTS 64位
gcc版本:11.3.0
编辑器:vsCode 1.76.2

array介绍

array是固定大小的序列式容器,它包含按严格的线性序列排列的特定数量的元素。与其他容器不同,array具有固定的大小,并且不通过分配器管理其元素的分配,因此其不能动态的扩展和收缩。(零大小的数组是有效的)。元素存储在连续的内存位置中,大小是编译时常数,没有内存或时间开销

头文件

#include <array>

模块类定义

_Tp:表示自定义数据类型
_Nm:表示_Ty的数量

template <class Tp, std::size_t _Nm> class array;

对象构造

/* (默认构造函数)构造一个包含10个int类型的数组对象 */
std:array<int, 10> arrInt;  
/* (拷贝构造函数)使用arrInt构造一个相同的数组对象 */
std::array<int, 10> arrInt1(arrInt)
/* 构造0长数组 */
std::array<int, 0> arrZero;
/* 二维数组构造,多维数组同理 */
std::array<std::array<int, 10>, 10> arrInt2;

初始化

/* 使用初始化列表进行初始化 */
arrInt = {0,1,2,3,4,5,6,7,8,9};

元素访问

函数名返回值功能
[]指定元素的值访问元素
at()指定元素的引用访问元素
front()首元素的引用获取首元素
back()元素的引用获取末尾元素
data()首元素的地址获取指向首元素的指针
/* 使用下标运算符访问元素并赋值 */
for (int i = 0; i < 10; i++)
{std::cout<< arrInt[i] << " ";
}
/* 使用at访问元素并赋值 */
for (int i = 0; i < 10; i++)
{std::cout << arrInt.at(i) << " ";
}
/* 取数组第一个和最后一个元素,返回值类型为元素的引用,注:0长度数组不能使用,运行时后出错 */
std::cout << arrInt.front() << " " << arrInt.back() << std::endl;
/* 获取指向数组头的指针 */
int *p = arrInt.data();

注:front()和back()不能用于获取0长度数组的元素。

容器大小

函数返回值功能
empty()bool判断array是否为空,为空返回true,不为空返回false
size()std:size_t获取数组长度
max_size()std::size_t获取数组的最大长度与size()相同
/* 判断数组是否为空, 返回值为bool类型,数组为空返回true,否则返回false,只有0长度数组返回true */
std::cout << arrInt.empty() << std::endl;
/* 获取数组大小,注:max_size在array中获取的大小与size相同,其他容器中可能大小不一致*/
std::cout << arrInt.size() << " " << arrInt.max_size() << std::endl;

注:empty()只有0长度数组才会返回true;size()和max_size()获取的大小始终相同为数组长度。

迭代器

类型功能
iterator正向随机访问迭代器。从前向后访问元素,可以读取也可以修改
const_iterator常量正向随机访问迭代器。从前向后访问元素,只能读取不能修改
reverse_iterator逆向随机访问迭代器。从后向前访问元素,可以读取也可以修改
const_reverse_iterator常量逆向随机访问迭代器。从后向前访问元素,只能读取不能修改
函数返回值功能
begin()正向随机访问迭代器返回指向array对象首元素所在位置的迭代器
end()正向随机访问迭代器返回指向array对象末尾元素的下一个位置的迭代器
cbegin()常量正向随机访问迭代器返回指向array对象首元素所在位置的常量迭代器
cend()常量正向随机访问迭代器返回指向array对象末尾元素的下一个位置的迭代器
rbegin()逆向随机访问迭代器返回指向array对象末尾元素位置的迭代器
rend()逆向随机访问迭代器返回指向array对象首元素的前一个位置的迭代器
crbegin()常量逆向随机访问迭代器返回指向array对象末尾元素位置的常量迭代器
crend()常量逆向随机访问迭代器返回指向array对象首元素的前一个位置的常量迭代器
/*正向随机访问迭代器,每个元素+10,并打印输出(10 11 12 13 14 15 16 17 18 19)*/
std::array<int, 10>::iterator itr;
for (itr = arrInt.begin(); itr != arrInt.end(); itr++)
{/* 修改元素值每个元素+10 */*itr += 10; /* 访问元素 */std::cout << *itr << " ";
}/*常量正向随机访问迭代器,并打印输出(10 11 12 13 14 15 16 17 18 19)*/
std::array<int, 10>::const_iterator cItr;
for (cItr = arrInt.begin(); cItr != arrInt.end(); cItr++)
{/* 不允许修改值,编译报错 *///*cItr += 10; /* 访问元素 */std::cout << *cItr << " ";
}/*逆向随机访问迭代器,每个元素+100,并打印输出(119 118 117 116 115 114 113 112 111 100)*/
std::array<int, 10>::reverse_iterator rItr;
for (rItr= arrInt.rbegin(); rItr!= arrInt.rend(); rItr++)
{/* 修改元素值 */*rItr += 100; /* 访问元素 */std::cout << *rItr << " ";
}/*常量逆向随机访问迭代器,并打印输出(119 118 117 116 115 114 113 112 111 100)*/
std::array<int, 10>::const_reverse_iterator crItr;
for (crItr= arrInt.crbegin(); crItr!= arrInt.crend(); crItr++)
{/* 不允许修改元素值, 编译报错 *///*crItr += 100; /* 访问元素 */std::cout << *crItr << " ";
}

其他函数

函数返回值功能
fill()将array中的所有元素用指定的元素进行填充
swap()交换两个容器的元素
/* 数据填充,将数组所有元素填充为15,无返回值 */
arrInt.fill(15);
/*交互两个数组元素的值,无返回值*/
std::array<int, 5> arrTest1;
std::array<int, 5> arrTest2:
arrTest1.fill(10);
arrTest2.fill(15);
arrTest1.swap(arrTest2);

注:empty()只有0长度数组才会返回true;front()和back()不能用于获取0长度数组的元素。size()和max_size()获取的大小始终相同为数组长度。

http://www.dt0577.cn/news/17242.html

相关文章:

  • 网页设计与制作招聘seo知识分享
  • 谁有wap网站推广普通话宣传语100字
  • 做响应式网站的菜单栏网站关键词快速排名服务
  • 手机网站 程序百度seo关键词排名价格
  • 企维多类似网站百度如何精准搜索
  • 驻马店做网站优化体球网足球世界杯
  • 商业招商网站宁波seo关键词优化方法
  • 中国空间站太小了优化百度搜索
  • 网站没有地图怎么做的如何提升关键词的自然排名
  • 域名ip查询查网址网站优化最为重要的内容是
  • 北京seo费用是多少西安网站建设方案优化
  • 网站底部怎么做东莞网络营销渠道
  • 网站建设工具有哪些交换链接营销的经典案例
  • 网站多少钱一年sem优化公司
  • 四川省建设招标网站怎么seo快速排名
  • 日本网站欣赏湖北百度推广公司
  • 同一个域名网站做301数字营销软件
  • dedecms做自适应网站平面设计正规培训机构
  • 做兼职网站的项目初衷产品推销方案
  • 山东省建设招标信息网站互联网营销师证书怎么考
  • 嘉兴模板建站软件网络营销推广公司网站
  • 外贸主动营销网站建设东营百度推广公司
  • 渝北集团网站建设长春网站制作系统
  • 您有新信息 建设招标网官方网站seo关键词有哪些类型
  • 科技网络网站建设sem优化是什么
  • 怎么在外管局的网站做延期通州区网站快速排名方案
  • 网站超级链接微信管理软件
  • 两学一做学习教育网站福建百度推广开户
  • 创新的网站建设公司排名阿里云官网首页
  • 四川省肿瘤医院seo的培训班