在堆栈上创建固定大小的数组

本杰

我需要一个固定的数据结构(出于性能原因)在堆栈上进行管理,但其行为类似于数组

我知道我可以创建以下内容:

using System;

namespace X
{
    public sealed struct CustomArray<T>
    {
        private const Int32 n = 2;

        private T _field_1;
        private T _field_2;
        // ...
        private T _field_n;

        public T this[Int32 idx]
        {
            get
            {
                switch(idx)
                {
                    case (0): return _field_1;
                    case (1): return _field_2;
                    // ...
                    case (n): return _field_n;

                    default: throw new IndexOutOfRangeException();
                }
            }
            set
            {
                switch(idx)
                {
                    case (0): _field_1 = value; break;
                    case (1): _field_2 = value; break;
                    // ...
                    case (n): _field_n = value; break;

                    default: throw new IndexOutOfRangeException();
                }
            }
        }
    }
}

但这对于由约50个元素组成的结构并不十分方便。有没有办法以更方便和可维护的方式实现这一目标?

谢谢你

斯里拉姆·萨克提维(Sriram Sakthivel)

您可以使用stackalloc关键字在堆栈中分配一个数组,看来它将满足您的堆栈分配需求。不幸的是,这要求您处于不安全的环境中。

int* block = stackalloc int[100];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何创建固定大小的对象数组

来自分类Dev

查找堆栈上数组/缓冲区的绝对大小

来自分类Dev

如何为固定大小的char数组创建类型别名?

来自分类Dev

如何在Java中创建泛型的固定大小的数组?

来自分类Dev

在solidity中创建一个新的固定大小的数组

来自分类Dev

PostgreSQL中固定大小的JSONB数组上的聚合

来自分类Dev

Rust 0.13中具有固定大小的大型数组的堆栈溢出

来自分类Dev

固定大小的数组

来自分类Dev

快速固定大小的数组

来自分类Dev

固定的Java数组大小

来自分类Dev

在堆栈上为execve创建一个arg数组

来自分类Dev

在堆栈上增长数组

来自分类Dev

无法创建数组大小为[300] [300]的二维数据结构->堆栈溢出

来自分类Dev

我们可以创建没有初始化的固定大小的数组吗

来自分类Dev

如何使用常量泛型创建固定大小的字符串数组?

来自分类Dev

在堆栈上创建类实例

来自分类Dev

创建大小未知的数组?

来自分类Dev

发出(在VB.net上):使用数组字段(固定大小)制作运行时类

来自分类Dev

将堆栈视图的大小固定为所有屏幕尺寸

来自分类Dev

堆栈上大小可变的对象

来自分类Dev

堆栈上数组与堆上数组的 sizeof()

来自分类Dev

在.NET中创建固定大小的文件

来自分类Dev

调整大小时如何创建固定的div?

来自分类Dev

C# - 如何创建固定大小的 SortedList?

来自分类Dev

临时/“不可寻址”的固定大小数组?

来自分类Dev

比较迭代器与(固定大小)数组

来自分类Dev

打字稿:固定大小数组的接口

来自分类Dev

用std :: array替换固定大小的数组?

来自分类Dev

D中的固定大小的位数组