如何在不赋值​​的情况下声明静态可变变量?

2023-11-26

我尝试了以下方法

struct mbuf
{
  cacheline: *mut [u64],               // great amount of rows follows below
  // ..........
}
static mut arr: [mbuf; 32];                // Q1 my main aim
// something as before but using Vec;      // Q2 also main aim

fn main() {
 // let static mut arr: [mbuf; 32];        // Q3 also doesn't work
 // static mut arr: [mbuf; 32];            // Q3 also doesn't work
}

并得到错误

src/main.rs:74:29: 74:30 error: expected one of `+` or `=`, found `;`
src/main.rs:74   static mut arr: [mbuf; 32];
                                           ^

Q1、Q2、Q3 - 是否可能以及如何实现?


声明时必须指定静态或常量;在那之后他们永远不能被分配给。

static 必须是纯文字;它不能有任何函数调用。

目前常量必须是纯文字,但是当RFC 911,常量 fn实施后,您将可以按照您的意愿做更多的事情。

在函数内部,你可以有static or const项目,就像在函数外部一样,没有什么区别——放置项目(特征和类型定义、函数、&c.) 在函数内部纯粹将它们隐藏在外部范围之外。因此你通常不妨使用let foo.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不赋值​​的情况下声明静态可变变量? 的相关文章

  • 在 Rust 中使用结构体的生命周期的正确方法是什么?

    我想写这样的结构 struct A b B c C struct B c C struct C The B c应该借自A c A gt b B gt c C borrow from c C lt 这是我尝试过的 struct C struc
  • 无法初始化静态QList?

    我收到以下错误 Cube cpp 10 error expected initializer before lt lt token 以下是头文件的重要部分 ifndef CUBE H define CUBE H include
  • 在 C 中初始化结构体的静态数组

    我正在用 C 实现一个纸牌游戏 纸牌有很多种类型 每种纸牌都有大量信息 包括一些需要单独编写与其关联的脚本的操作 给定这样的结构 并且我不确定我的语法是否适合函数指针 struct CARD int value int cost This
  • 如何接受同一个 Serde 字段的多个反序列化名称?

    我正在尝试使用 Serde 反序列化 JSON serde json 和 XML serde xml rs 基于以下结构的文件 use serde derive Deserialize derive Debug Clone PartialE
  • 私有静态方法有必要吗?

    原理工程师 https stackoverflow com users 201787 metal在我上一家公司有一条规则private static方法应该作为实现文件中的函数实现 而不是作为类方法 我不记得他的规则是否有任何例外 我在目前
  • 在node.js Express框架中设置两个不同的静态目录

    是否可以 我想设置两个不同的目录来提供静态文件 假设 public 和 mnt 您还可以通过指定附加 第一个 参数来设置将静态文件提供给 Web 的路径use 像这样 app use public express static dirnam
  • Java - 同步方法导致程序大幅减慢

    我正在尝试了解线程和同步 我做了这个测试程序 public class Test static List
  • serde/bincode 如何序列化字节数组?

    这段代码完全按照我的要求序列化了一个 32 字节的数组 derive Debug Clone Serialize Deserialize PartialEq Eq PartialOrd Ord struct Hash u8 32 let h
  • 如何将动态格式字符串与格式一起使用!宏?

    我想使用format 宏与String作为第一个参数 但因为宏需要字符串文字 所以我无法传递任何与它不同的内容 我想这样做是为了将字符串动态添加到当前字符串中 以便在视图引擎中使用 如果有更好的方法 我愿意接受建议 let test Str
  • 2D 中的大量旋转

    我正在尝试使用 Bevy 0 3 并且我可以轻松使用内置转换Camera2dComponents default 这是自上而下的二维 问题在于尝试将玩家的旋转与鼠标同步 for event in evreader iter cursor m
  • 非静态字段、方法或属性需要对象引用

    我知道人们以前问过这个问题 但场景太具体 我对基本原理感到困惑 我有两个基本版本的 C 程序 一种有效 一种无效 如果有人能解释为什么我收到错误 我会很高兴非静态字段 方法或属性需要对象引用在第二个程序中 Works namespace E
  • Rust 中如何将字符串转换为二进制字符串?

    我有一个字符串 我想将其转换为二进制字符串 let content request version to string request length to string request json 您可能指的是类型中字符串的二进制表示形式St
  • 使用 Yew 回调作为 wasm_bindgen 闭包

    这个问题是为 Yew v0 19 编写的 异步外部 JavaScript 函数可以通过以下方式在 Rust 中使用Closures https rustwasm github io wasm bindgen api wasm bindgen
  • 为什么 OOP 中静态类的最佳实践有所不同?

    我目前正在阅读有关 Java 最佳实践的内容 我发现根据这本书 https rads stackoverflow com amzn click com 0321356683我们必须优先选择静态类而不是非静态类 我记得在 C 最佳实践中 我们
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • 如何修改actix-web中间件中的请求数据? [复制]

    这个问题在这里已经有答案了 是否有推荐的方法来修改 actix web 上收到的请求 我正在寻找将数据添加到请求对象并使其可供下游中间件和处理程序处理的方法 The 中间件文档 https actix rs docs middleware
  • 如何消除 Rust 中特征的歧义?

    我想使用write fmt两种不同类型的对象上的方法 use std fmt Write use std io Write fn main let mut a String new let mut b std fs File create
  • typedef 结构体指针定义

    我对 C 很陌生 并且对所有指针的东西都有一些问题 我写了这段代码 typedef struct edgeitem double weight EDGE ITEM pEDGE ITEM also declaration of a point
  • 令人困惑的无法访问模式错误

    在使用 Rust 编译器时 我遇到了一条非常令人困惑的错误消息match陈述 enum Name Known fn unreachable pattern n Name gt usize use Name match n Unknown g
  • 实现 Index 特征以返回非引用的值

    我有一个想要实现的简单结构Index 但作为 Rust 的新手 我在借用检查器方面遇到了许多麻烦 我的结构非常简单 我想让它存储一个起始值和步骤值 然后当由usize它应该返回start idx step pub struct MyStru

随机推荐

  • 手动递增和递减 boost::shared_ptr?

    有没有办法在C 中手动增加和减少shared ptr的计数 我试图解决的问题如下 我正在用 C 编写一个库 但接口必须是纯 C 语言 在内部 我想使用 shared ptr 来简化内存管理 同时保留通过 C 接口传递原始指针的能力 当我通过
  • 在 C# 中,如何使用 Regex.Replace 添加前导零(如果可能)?

    我想向字符串中的数字添加一定数量的前导零 例如 输入 第 1 页 输出 第 001 页 输入 第 12 页 输出 第 012 页 输入 第 123 页 输出 第 123 页 使用 Regex Replace 执行此操作的最佳方法是什么 目前
  • 有没有办法从文件中存储 gzip 的字典?

    我一直在对基于压缩的文本分类进行一些研究 我正在尝试找出一种存储由编码器 在训练文件上 构建的字典以用于在测试文件上 静态 运行的方法 使用 UNIX 的 gzip 实用程序是否可以实现这一点 例如 我一直在使用 sport txt 和 a
  • 批处理文件中的菜单

    我通常不会创建批处理文件 因为我只是在运行框或命令提示符中键入我需要的内容 但我试图制作一个只是为了让我访问 Windows 中的基本实用程序并检查一些东西 我真的不这样做 不需要它 但我想我爸爸会发现它很有帮助 我对 python 很熟悉
  • 如何将字符串变量打印为斜体文本

    我在课堂上有以下声明 String myName Joe System out println My name is myName 我需要变量的值myName打印为italic text Try System out println 033
  • 如何修复 pytorch 中的“输入和隐藏张量不在同一设备”

    当我想将模型放到 GPU 上时 出现以下错误 运行时错误 输入和隐藏张量不在同一设备上 在 cuda 0 处找到输入张量 在 cpu 处找到隐藏张量 然而 以上所有内容都已放在 GPU 上 for m in model parameters
  • Loopbackjs:将模型附加到不同的数据源

    我已经为我的环境定义了几个使用数据源 db mysql 的模型 有没有办法将多个数据源附加到这些模型 以便我能够对不同的数据库执行 REST 操作 IE 获取 api Things ds db GET api Things ds anoth
  • 在Android视图中绘制一个虚线圆[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我需要在视图中显示一个虚线圆圈 尝试这个解决方案 public void onCreate Bundle savedInstanceState super onCreate sa
  • 背景页面/脚本和弹出页面有什么区别?

    背景页面和弹出页面有什么区别 什么是内容脚本 Chrome 扩展程序有许多看起来相似的不同术语 我将尽力澄清这些术语 背景页面 脚本 基本上是在应用程序后台运行的页面 ManifestV2 或服务工作线程 ManifestV3 不显示任何内
  • 如何在 preg_split() 的结果中包含分割分隔符?

    我有一个简单的模式 可以将文本分成句点 text preg split text 但我想包括 or 在数组项的末尾 也就是说 现在是 好消息 大家好 我有 array good news everyone 但我想要 array good n
  • 包装器、过滤器和 Servlet

    由于我是 Servlet 编程新手 因此我可能会问一个基本问题 我正在编写一个应用程序 其中过滤器从 servlet 获取响应 并用它进行一些计算 我发现我需要一个包装类来捕获响应 我现在的问题是为什么需要包装器 提前致谢 1 让我们首先了
  • ESP在汇编中是什么意思? [复制]

    这个问题在这里已经有答案了 ESP stack pointer 什么是E站在这里 UPDATE 64 位的 RSP 什么是R意思是这里 E代表Extended 随着32位80386处理器的出现 16位通用寄存器 基址寄存器 索引寄存器 指令
  • OpenCSV 将 csv 转换为嵌套 bean

    我们正在使用 OpenCSV csv 如下 id fname lname address line1 address line2 这些豆子是 Person String id String lname String fname Addres
  • Android 上 Assets 文件夹中的 InputStream 返回空

    我没有遇到任何例外 但是当我跑步时 InputStream deckFile context getAssets open cards txt 然后 deckFile read 返回 1 该文件位于正确的文件夹中 并且不为空 这应该是世界上
  • R list.files(my_working_directory) 显示没有文件,但我知道它们在那里。怎么修?

    我正在尝试使用外部硬盘驱动器中的目录作为工作目录来使用 R 我可以将工作目录设置到我想要的位置 但是当我使用list filesR什么也看不到 我也无法使用read delim加载文件 例如 gt rm list ls gt WD lt V
  • Python 2 __getattr__ 最大递归深度

    例如我使用这个代码 class A object def init self self dict1 A 3 B self A def getattr self key if key in self dict1 return self dic
  • from __future__ 导入注释

    Python 文档 future 在 python 文档中关于 future 下面有一张表显示 注释 3 7 0b1 中 可选 和 4 0 中 强制 但我仍然可以在 3 8 2 中使用注释 而无需导入注释 那它有什么用呢 gt gt gt
  • 循环平铺。如何选择块大小?

    我正在尝试学习循环优化 我发现循环平铺有助于使数组循环更快 我尝试使用下面给出的两个代码块 有和没有循环阻塞 并测量两者所花费的时间 大多数时候我没有发现显着差异 我测试了不同的块大小 但我不确定如何选择块大小 如果我的方向错误 请帮助我
  • TFS:查找更改集之间受影响的文件

    我们正在使用 Team Foundation Server 2012 我们有一个人于 2016 年 8 月 9 日在变更集 13646 中提交了 97 个文件 不包括设计器和资源文件 十 10 天后 即 2016 年 8 月 18 日 他将
  • 如何在不赋值​​的情况下声明静态可变变量?

    我尝试了以下方法 struct mbuf cacheline mut u64 great amount of rows follows below static mut arr mbuf 32 Q1 my main aim somethin