STL之Array

一个Array也是容器类array<>的一份实体--模塑出一个static array, 它包覆一个寻常的static c-style array 并提供一个STL容器接口。

?

构造函数

?



Array的注意事项

  • 其中的元素是一个有序的集合
  • 允许随机访问
  • 其迭代器属于随机迭代器
  • 其size()的结果总等于N
  • 不支持分配器
  • 是唯一一个无任何东西被指定为初值时,会被预初始化的容器,这意味着对于基础类型初值可能不明确
  • class array<> 是一个聚合体(不带用户提供的构造函数,没有private和protected的nonstatic数据成员,没有base类,有没有virtual 函数),这意味着保存所有元素的那个成员是public,然而C++并没有指定其名称,因此对该public成员的任何直接访问都会导致不可预期的行为,也绝对不可移植。


构造函数?

?



大小

?



赋值

?

如果使用=操作符或者swap(),两个array必须具备相同类型,即元素类型和大小必须相同。



元素访问

?

?

时间: 2024-10-09 18:35:31

STL之Array的相关文章

STL知识点总结

一.STL有哪些组件STL提供六大组件,彼此可以组合套用:1.容器容器就是各种数据结构,我就不多说,看看下面这张图回忆一下就好了,从实现角度看,STL容器是一种class template.2.算法各种常见算法,如sort,search,copy,erase等,我觉得其中比较值得学习的就是sort,next_permutation,partition,merge sort,从实现角度看,STL算法是一种function template.3.迭代器扮演容器与算法之间的胶合剂,是所谓的"泛型指针&

C++11简介(1)

原文地址:http://www.codeproject.com/Articles/312029/Cplusplus-A-Glance-part-of-n 1.介绍 C++0x现在是一个正式标准了,被称作C++11.ISO C++在2011年正式通过这个标准.这篇文章的目的是浏览C++11的特性和介绍VS2010中支持的特性,且可以作为你研究个别特性的一个开端. 因为长度原因,文章被分为了几部分.我自己也十分害怕一次性阅读那么长的文档,再说一次把C++11特性写完将会是工作变得无聊. 这是我在co

STL之vector,数组线性容器array,list容器,算法find,find_if,bind1st,仿函数

 1.STL(Standard Template Library,是用泛型技术来设计完成的实例)的概念与组成 Iterator(迭代器) Container(容器) Algorithm(算法) Adaptors(配接器) STL的六大组件分别是: 容器(Container) 算法(Algorithm) 迭代器(Iterator) 仿函数(Function object) 适配器(Adapter) 空间配置器(allocator):只能分配内存等 2.容器与算法 案例如下: #include<

Array STL

Arrays STL各种实现代码. <C++标准程序库> 1 /* 2 2015.4 3 an STL container (as wrapper) for arrays of constant size. 4 5 */ 6 7 #pragma warning(disable : 4996) 8 #include <iostream> 9 #include <cstddef> 10 #include <stdexcept> 11 #include <a

c/c++ 模板与STL小例子系列&lt;一 &gt;自建Array数组

c/c++ 模板与STL小例子系列<一> 自建Array数组 自建的Array数组,提供如下对外接口 方法 功能描述 Array() 无参数构造方法,构造元素个数为模板参数个的数组 Array(int length) 有参数构造方法,构造元素个数为参数length个的数组 ~Array() 析构函数 int size() 返回数组中元素的个数 T& get(int num) 返回数组中指定下标的元素的引用 void set(T data, int num) 设置指定下标元素的值 T&a

Leetcode 26 Remove Duplicates from Sorted Array STL

题目本身是去重 由于我很懒,所以用了STL库里的unique函数来去重,小伙伴们可以考虑自己实现去重的函数,其实并不复杂. 1 class Solution { 2 public: 3 int removeDuplicates(vector<int>& nums) { 4 return unique(nums.begin(),nums.end()) - nums.begin(); 5 } 6 };

STL array方法总结(一)Iterators(20)

这里是array方法的一些总结,具体的可以看后面的链接: public member function <array> std::array::begin iterator begin() noexcept; const_iterator begin() const noexcept; 返回一个指向array容器第一个元素的iterator. 注意和array::front不同,front是返回一个指向第一个元素的引用,这个函数是返回一个指向第一个元素的随机访问迭代器. Parameters

STL array方法总结(二)Capacity和Modifiers(21)

这里是array方法的一些总结,具体的可以看后面的链接: public member function <array> std::array::size constexpr size_type size() noexcept; 返回array里面元素的数目. Parameters none Return Value array中元素的数目. 原文地址:http://blog.csdn.net/qq844352155/article/details/38944721 --------------

STL array方法总结(三)Element access(22)

这里是array方法的一些总结,具体的可以看后面的链接: public member function <array> std::array::operator[] reference operator[] (size_type n); const_reference operator[] (size_type n) const; 返回array容器中位置为n的元素的引用. Parameters n array中元素的位置. 注意第一个元素位置是0而不是1. Return value 返回指定