Platform::Collections::VectorView 类

表示可按照索引单独访问的对象的顺序集合的只读视图。 集合中每个对象的类型由模板参数指定。

语法

template <typename T, typename E>
   ref class VectorView sealed;

参数

T
VectorView 对象中包含的元素的类型。

E
使用 T类型的值指定测试相等性的二进制谓词。 默认值是 std::equal_to<T>

注解

VectorView 类实现 Windows::Foundation::Collections::IVectorView<T> 接口并支持标准模板库迭代器。

成员

公共构造函数

名称 描述
VectorView::VectorView 初始化 VectorView 类的新实例。

公共方法

名称 描述
VectorView::First 返回指定 VectorView 中的第一个元素的迭代器。
VectorView::GetAt 检索由指定的索引表示的当前 VectorView 的元素。
VectorView::GetMany 从当前 VectorView 检索项序列,从指定索引处开始。
VectorView::IndexOf 在当前 VectorView 中搜索指定项,如果找到,则返回该项的索引。
VectorView::Size 返回当前 VectorView 对象中的元素数目。

继承层次结构

VectorView

要求

标头: collection.h

命名空间: Platform::Collections

VectorView::First 方法

返回指定 VectorView 中的第一个元素的迭代器。

语法

virtual Windows::Foundation::Collections::IIterator<T>^
   First();

返回值

指定 VectorView 中第一个元素的迭代器。

备注

保留 First() 返回的迭代器的一种简便方式是将返回值分配给用 auto 类型推导关键字声明的变量。 例如 auto x = myVectorView->First();

VectorView::GetAt 方法

检索由指定的索引表示的当前 VectorView 的元素。

语法

T GetAt(
   UInt32 index
);

参数

index
从零开始的无符号整数,用于指定 VectorView 对象中的特定元素。

返回值

index 参数指定的元素。 元素类型由 VectorView 模板参数 T 指定。

VectorView::GetMany 方法

从当前 VectorView 检索项序列,从指定索引处开始。

语法

virtual unsigned int GetMany(
   unsigned int startIndex,
   ::Platform::WriteOnlyArray<T>^ dest
);

参数

startIndex
要检索的项开头从零开始的索引。

dest
此操作完成时的项列表,以由 startIndex 指定的元素开始,以 VectorView 中最后一个元素结尾。

返回值

已检索的项的数量。

VectorView::IndexOf 方法

在当前 VectorView 中搜索指定项,如果找到,则返回该项的索引。

语法

virtual bool IndexOf(
   T value,
   unsigned int* index
);

参数

value
要查找的项。

索引
如果找到参数 value,则为该项的从零开始的索引;否则,为 0。

如果该项目是 VectorView 的第一个元素,或者未找到该项目,则 index 参数为 0。 如果返回值为 true,则表明找到该项目,并且它是第一个元素;否则,表示未找到该项目。

返回值

如果找到指定项目,则为 true;否则,为 false

VectorView::Size 方法

返回当前 VectorView 对象中的元素数目。

语法

virtual property unsigned int Size;

返回值

当前 VectorView 中的元素数目。

VectorView::VectorView 构造函数

初始化 VectorView 类的新实例。

语法

VectorView();
explicit VectorView(
   UInt32 size
);
VectorView(
   UInt32 size,
   T value
);
explicit VectorView(
   const ::std::vector<T>& v
);
explicit VectorView(
   ::std::vector<T>&& v
);
VectorView(
   const T * ptr,
   UInt32 size
);

template <
   size_t N
>
explicit VectorView(
   const T (&arr)[N]
);

template <
   size_t N
>
explicit VectorView(
   const ::std::array<T,
   N>& a
);

explicit VectorView(
   const ::Platform::Array<T>^ arr
);

template <
   typename InIt
>
VectorView(
   InItfirst,
   InItlast
);

VectorView(
   std::initializer_list<T> il
);

参数

InIt
用于初始化当前 VectorView 的对象集合的类型。

il
其中元素将用于初始化 VectorView 的 std::initializer_list

N
用于初始化当前 VectorView 的对象集合中元素的数量。

size
VectorView 中元素的数量。

value
用于初始化当前 VectorView 中每个元素的值。

v
对用于初始化当前 VectorView 的 std::vector左值和右值

ptr
指向用于初始化当前 VectorView 的 std::vector 的指针。

arr
用于初始化当前 VectorView 的 Platform::Array 对象。

a
用于初始化当前 VectorView 的 std::array 对象。

first
用于初始化当前 VectorView 的对象序列中的第一个元素。 first 的类型通过完美转移传递。 有关详细信息,请参阅右值引用声明符:&&

last
用于初始化当前 VectorView 的对象序列中的最后一个元素。 last 的类型通过完美转移传递。 有关详细信息,请参阅右值引用声明符:&&

另请参阅

Platform 命名空间
使用 C++ 创建 Windows 运行时组件