`
hqs7636
  • 浏览: 220929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

std.array

阅读更多
机器翻译,还未校对,仅供参考

Jump to: empty popFront popBack front back put insert replace Appender data capacity AcceptedElementType clear appender

bool empty(T)(in T[] a);
    Implements the range interface primitive empty for built-in arrays. Due to the fact that nonmember functions can be called with the first argument using the dot notation, array.empty is equivalent to empty(array).

实现范围接口原始     空   内置的数组。 因为可以用调用 nonmember 函数第一个参数使用该点表示法  数组时    空   是等效于     空  (array) 。

示例:
   
    void main()
    {
        auto a = [ 1, 2, 3 ];
        assert(!a.empty);
        assert(a[3 .. $].empty);
    }

void popFront(T)(ref T[] a);
    Implements the range interface primitive popFront for built-in arrays. Due to the fact that nonmember functions can be called with the first argument using the dot notation, array.popFront is equivalent to popFront(array).

实现范围接口原始     popFront   内置的数组。 因为可以用调用 nonmember 函数第一个参数使用该点表示法  数组时    popFront   是等效于     popFront  (array) 。

示例:
   
    void main()
    {
        int[] a = [ 1, 2, 3 ];
        a.popFront;
        assert(a == [ 2, 3 ]);
    }

void popBack(T)(ref T[] a);
    Implements the range interface primitive popBack for built-in arrays. Due to the fact that nonmember functions can be called with the first argument using the dot notation, array.popBack is equivalent to popBack(array).

实现范围接口原始     popBack   内置的数组。 因为可以用调用 nonmember 函数第一个参数使用该点表示法  数组时    popBack   是等效于     popBack  (array) 。

示例:
   
    void main()
    {
        int[] a = [ 1, 2, 3 ];
        a.popBack;
        assert(a == [ 1, 2 ]);
    }

typeof(A[0]) front(A)(A a);
void front(T)(T[] a, T v);
    Implements the range interface primitive front for built-in arrays. Due to the fact that nonmember functions can be called with the first argument using the dot notation, array.front is equivalent to front(array).
实现范围接口原始  前  内置的数组。 因为可以用调用 nonmember 函数第一个参数使用该点表示法  数组时    前   是等效于     前  (array) 。

示例:
   
    void main()
    {
        int[] a = [ 1, 2, 3 ];
        assert(a.front == 1);
    }

T back(T)(T[] a);
    Implements the range interface primitive back for built-in arrays. Due to the fact that nonmember functions can be called with the first argument using the dot notation, array.back is equivalent to back(array).
实现范围接口原始     回   内置的数组。 因为可以用调用 nonmember 函数第一个参数使用该点表示法  数组时    回   是等效于     回  (array) 。

示例:
   
    void main()
    {
        int[] a = [ 1, 2, 3 ];
        assert(a.front == 1);
    }

void put(T, E)(ref T[] a, E e);
    Implements the range interface primitive put for built-in arrays. Due to the fact that nonmember functions can be called with the first argument using the dot notation, array.put(e) is equivalent to put(array, e).
实现范围接口原始     把   内置的数组。 因为可以用调用 nonmember 函数第一个参数使用该点表示法  数组时    把  (e)  是等效于     把  (array,e) 。

示例:

    void main()
    {
        int[] a = [ 1, 2, 3 ];
        int[] b = a;
        a.put(5);
        assert(a == [ 2, 3 ]);
        assert(b == [ 5, 2, 3 ]);
    }

void insert(T, Range)(ref T[] array, size_t pos, Range stuff);
    Inserts stuff in container at position pos.
    在位置  pos   容器  中插入  的东西 。

void replace(T, Range)(ref T[] array, size_t from, size_t to, Range stuff);
    Erases elements from array with indices ranging from from (inclusive) to to (exclusive).
指数以至  从  清除从  数组  的元素 (包括), 到  (排他)。

    Erases element from array at index from.
清除从在 从 的索引的 数组 元素。

    Replaces elements from array with indices ranging from from (inclusive) to to (exclusive) with the range stuff. Expands or shrinks the array as needed.
从 数组 元素替换以至 从 的指数 (包括), 以 (独占) 与范围 的东西 。 扩展或收缩数组作为需要。

struct Appender(A : T[],T);
    Implements an output range that appends data to an array. This is recommended over a ~= data because it is more efficient.
实现一个将数据追加到一个数组的输出范围。 这是建议通过  一 ~ = 数据  因为它是更有效。

示例:

    auto arr = new char[0];
    auto app = appender(&arr);
    string b = "abcdefg";
    foreach (char c; b) app.put(c);
    assert(app.data == "abcdefg");

    int[] a = [ 1, 2 ];
    auto app2 = appender(&a);
    app2.put(3);
    app2.put([ 4, 5, 6 ]);
    assert(app2.data == [ 1, 2, 3, 4, 5, 6 ]);

    this(T[]* p);
        Initialize an Appender with a pointer to an existing array. The Appender object will append to this array. If null is passed (or the default constructor gets called), the Appender object will allocate and use a new array.
初始化指向一个现有的数组的指针与  Appender 。 在  appender  对象将附加到此数组。 如果传递   空  (或默认的构造函数被调用), Appender  对象将分配并使用一个新的数组。

    T[] data();
        Returns the managed array.
返回托管的数组。

    const size_t capacity();
        Returns the capacity of the array (the maximum number of elements the managed array can accommodate before triggering a reallocation).
返回在    能力  的数组 (最大的元素数,托管的数组可容纳在触发一个重新分配之前)。

    alias AcceptedElementType;
        An alias for the accepted type to be appended.
要附加的接受类型的别名。

    void put(AcceptedElementType item);
        Appends one item to the managed array.
将一  项  追加到托管数组。

    void put(AcceptedElementType[] items);
        Appends another array to the managed array.
将另一个数组追加到托管数组。

    void put(in char c);
    void put(in char[] cs);
    void put(in wchar dc);
    void put(in wchar[] dcs);
    void put(in dchar dc);
    void put(in dchar[] wcs);
        In case the managed array has type char[], wchar[], or dchar[], all other character widths and arrays thereof are also accepted.
以托管的数组了 Type  Char [] 、  wchar [] ,或  dchar [] ,所有其他字符宽度和任何数组都是也接受。

    void clear();
        Clears the managed array.
清除托管的数组。

Appender!(E[]) appender(A : E[], E)(A* array = null);
    Convenience function that returns an Appender!(T) object initialized with t.
返回一个  Appender!(T)  对象的方便函数用  t  初始化。
分享到:
评论

相关推荐

    container:由std.experimental.allocator支持的容器

    `std.array`模块提供了许多便利的函数来处理数组,但当涉及到动态大小的数组时,`std.experimental.allocator`的角色就显现出来了。它可以帮助我们更有效地管理动态数组的内存,如`ResizableArray`。 2. **集合...

    浅谈numpy中np.array()与np.asarray的区别以及.tolist

    在Python的科学计算库NumPy中,`np.array()` 和 `np.asarray()` 都是用来创建数组对象的方法,但它们在处理已有数组时有着微妙的区别。本文将深入探讨这两个函数的区别以及`.tolist()`方法的用途。 首先,让我们...

    VC.plug.in.module.development.array.list.rar_vc array

    本压缩包文件"VC.plug.in.module.development.array.list.rar_vc array"显然关注的是如何使用VC来构建一个数组列表插入模块。下面我们将深入探讨这一主题,讲解如何在VC中设计和实现这样的模块,以及涉及的关键知识...

    D语言操作Excel

    import std.array; import std.conv; // 假设有一系列数据 auto data = [1, 2, 3, 4, 5]; // 插入图表 auto chart = worksheet.Shapes.addChart(XlChartType.xlColumnClustered, 0, 0, 400, 300); chart.Chart....

    VC.add.programming.array.list.rar_vc list

    在这个"VC.add.programming.array.list.rar_vc list"压缩包中,我们很显然会找到与在Visual C++ (VC) 中创建和操作数组列表相关的编程代码。数组列表在编程中扮演着重要角色,因为它提供了对动态大小数组的操作能力...

    dasocks:D 中的异步网络库

    dasocks 使用标准库中的以下模块完全用 D 编写: core.thread、std.socket、std.c.string(标准 C 库)、std.array、std.conv、std.string dasocks 具有以下特点简化的异步socket使用,跨平台,线程管理,使用字符...

    std.rar

    2. **容器**:`std`命名空间中包含多种容器,如`std::vector`、`std::array`、`std::list`、`std::map`等,它们提供了存储和管理数据的结构。例如,`std::vector`是一种动态数组,可以在运行时改变大小;`std::map`...

    VC.design.array.remove.list.rar_vc list

    在VC++编程环境中,"VC设计数组移除列表"涉及到的核心知识点是动态数组管理和容器类的使用,特别是C++ Standard Template Library (STL)中的`std::vector`。`std::vector`是一种动态数组,提供了方便的添加、删除...

    D_语言_2.0_编程参考手册

    2. **标准库**:介绍D语言的标准库,如std.container、std.array、std.string等,以及它们提供的各种数据结构和算法。 3. **并发与多线程**:线程、同步原语(如mutex、semaphore)、异步编程模型(如coroutine和...

    C++语言中std::array的用法小结(神器用法)

    摘要:在这篇文章里,将从各个角度介绍下std::array的用法,希望能带来一些启发。 td::array是在C++11标准中增加的STL容器,它的设计目的是提供与原生数组类似的功能与性能。也正因此,使得std::array有很多与其他...

    IEEE Std 1149.1b-1994

    这项技术对于提高复杂系统如现场可编程门阵列(Field-Programmable Gate Array, FPGA)、数字信号处理器(Digital Signal Processor, DSP)等设备的可靠性和可维护性至关重要。 #### 技术细节 **1. 测试访问端口...

    numpy基础语法

    print(a.std()) # 输出:1.58113883046 ``` 14. 创建奇形怪状的数组 使用 NumPy 提供的 pad() 函数可以创建奇形怪状的数组,例如: ``` a = np.array([1, 2, 3, 4, 5]) print(np.pad(a, (2, 2), 'constant')) # ...

    numpy.std() 计算矩阵标准差的方法

    >>> a = np.array([[1, 2], [3, 4]]) >>> np.std(a) # 计算全局标准差 1.1180339887498949 >>> np.std(a, axis=0) # axis=0计算每一列的标准差 array([ 1., 1.]) >>> np.std(a, axis=1) # 计算每一行的标准差 array...

    STL容器之array和vector.zip

    在这个“STL容器之array和vector.zip”压缩包中,我们主要探讨两个重要的容器:`std::array`和`std::vector`。它们都是用于存储元素序列的容器,但有着不同的特性和使用场景。 `std::array`是C++11引入的一个固定...

    Initialize-the-array.zip_array.initialize

    // 使用C++11的std::array容器,更加安全和类型安全 ``` 此外,VC++还支持C++标准模板库(STL)中的`vector`,它可以动态调整大小,并且提供了一种更高级的初始化方法: ```cpp std::vector<int> vec = {1, 2, 3,...

    C++array介绍及详细使用示例(源代码)

    ### C++ STL中的std::array详解 #### 一、引言 C++ Standard Template Library (STL) 提供了一系列高效且可复用的数据结构和算法。`std::array`作为其中一个重要的容器,专为处理固定大小数组而设计,旨在解决传统C...

    Python科学计算库-Numpy

    print(np.std(arr)) # 输出:1.41421356237 ``` 4. **随机数生成**:Numpy能生成各种分布的随机数,如均匀分布、正态分布等。 示例: ```python np.random.seed(0) # 设置随机种子 rand_arr = np.random.rand...

Global site tag (gtag.js) - Google Analytics