问题标签 [struct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
70579 浏览

将二进制文件读入结构

我正在尝试使用 C# 读取二进制数据。我拥有我想要阅读的文件中有关数据布局的所有信息。我能够“逐块”读取数据,即获取前 40 个字节的数据将其转换为字符串,然后获取接下来的 40 个字节。

由于数据至少有三个略有不同的版本,我想直接将数据读入一个结构。感觉比“逐行”阅读要正确得多。

我尝试了以下方法但无济于事:

该流是一个打开的 FileStream,我已经开始从中读取。使用时我得到一个AccessViolationException Marshal.PtrToStructure

由于我对文件末尾的数据不感兴趣,因此该流包含的信息比我尝试读取的要多。

结构定义如下:

示例代码从原始代码更改为使此问题更短。

如何将文件中的二进制数据读入结构?

0 投票
19 回答
450746 浏览

.NET 中的结构和类有什么区别?

.NET 中的结构和类有什么区别?

0 投票
25 回答
706631 浏览

Python 中的类 C 结构

有没有办法在 Python 中方便地定义类似 C 的结构?我厌倦了写这样的东西:

0 投票
20 回答
354023 浏览

Java中的结构类对象

是否完全违反 Java 方法来创建类似对象的结构?

我可以看到一个带有访问器和修改器的类更像 Java。

第一个示例中的类在符号上很方便。

这不太方便。

0 投票
6 回答
101236 浏览

更改结构列表中元素的值

我有一个结构列表,我想更改一个元素。例如 :

现在我想改变一个元素:

但是,每当我尝试这样做时,都会出现以下错误:

无法修改 System.Collections.Generic.List.this[int]' 的返回值,因为它不是变量

如果我使用类列表,则不会出现问题。

我想答案与结构是一种值类型有关。

那么,如果我有一个结构列表,我应该将它们视为只读吗?如果我需要更改列表中的元素,那么我应该使用类而不是结构吗?

0 投票
27 回答
501438 浏览

什么时候应该在 C++ 中使用类和结构?

在什么情况下在 C++中使用 a structvs a更好?class

0 投票
9 回答
72315 浏览

结构实现接口是否安全?

我似乎记得读过一些关于结构通过 C# 在 CLR 中实现接口的坏处,但我似乎找不到任何关于它的信息。不好吗?这样做会产生意想不到的后果吗?

0 投票
4 回答
18701 浏览

你可以在结构中有一个类吗?

在 C# 中是否可以有一个带有类类型成员变量的 Struct?如果是这样,信息存储在哪里,在堆栈、堆或两者上?

0 投票
30 回答
354099 浏览

C ++中的结构和类有什么区别?

已经在 C#/.Net 的上下文中提出了这个问题。

现在我想了解 C++ 中结构和类之间的区别。请讨论技术差异以及在 OO 设计中选择其中一种的原因。

我将从一个明显的区别开始:

  • 如果不指定public:or private:,则结构的成员默认是公共的;默认情况下,类的成员是私有的。

我确信在 C++ 规范的晦涩角落中还可以找到其他差异。

0 投票
7 回答
10657 浏览

为什么 GCC 不优化结构?

系统要求某些原语与内存中的某些点对齐(整数到 4 的倍数的字节,短到 2 的倍数的字节等)。当然,这些可以优化为在填充中浪费最少的空间。

我的问题是为什么 GCC 不自动执行此操作?是否缺少更明显的启发式(从最大尺寸要求到最小尺寸的顺序变量)?某些代码是否依赖于其结构的物理顺序(这是个好主意)?

我只是问,因为 GCC 在很多方面都经过了超级优化,但在这方面却没有,而且我认为一定有一些相对酷的解释(我没有注意到)。