栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

(八)array、forward

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(八)array、forward

array
  • array本身是c语言中已经存在的数组,为什么还要包装成容器
    • array被包装成一个容器,要遵循容器的规则,要提供iterator且迭代器要提供五种相应的类型,以便于让算法获得必要的信息,方便算法采取最优化的操作
    • 如果没有包装,array就被排斥在标准库六大部件之外,无法直接与算法、仿函数等等交互
arrayTR1版
  • TR1是介于c++98和c++11之间的一种版本
  • array没有构造函数与析构函数
template
struct array
{
	typedef _Tp value_type;
	typedef _Tp* pointer;
	typedef value_type* iterator;//它的迭代器也是指针

	//Support for zero-sized arrays mandatory
	value_type _M_instance[_Nm ? _Nm : 1];

	iterator begin()
	{ return iterator(&_M_instance[0]); }

	iterator end()
	{ return iterator(&_M_instance[_Nm]); }

	...
}

array myArray;
auto ite = myArray.begin()'
ite += 3;
cout<< *ite;
4.9版

int a[100];//OK
int[100] b;//fail
typedef int T[100];//OK
T c;//OK 
forward_list
  • 完全类似list

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/290410.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号