struct相关内容

C# 是否使用 ->指针符号?

我正在尝试学习 C#,并且我熟悉 C++ 结构指向符号 ->.我很好奇它是否会转移到 C# 中. 示例: someStruct->someAttribute += 1; 解决方案 C# 中有指针表示法,但仅在特殊情况下使用 unsafe 关键字. 使用 . 取消引用常规对象,但是如果您想编写快速代码,您可以固定数据(以避免垃圾收集器四处移动),从而“安全地"使用指针算法,并且那么 ..
发布时间:2021-12-23 17:23:31 C#/.NET

自动属性和结构

我想知道以下 C# 代码: struct 结构{公共结构(int a,int b){属性A = a;属性B = b;}公共 int PropertyA { 得到;放;}公共 int PropertyB { 得到;放;}} 编译时不会出现错误“在分配所有字段之前无法使用‘this’对象".对于类似的类,它编译没有任何问题. 可以通过重构为以下内容来使其工作: struct 结构{私人 i ..
发布时间:2021-12-23 17:23:25 C#/.NET

从接口获取所有字段

我如何知道我可以从 reply 对象/接口访问的字段?我试过反射,但似乎你必须先知道字段名称.如果我需要知道所有可用的字段怎么办? //Do 向服务器发送命令并返回接收到的回复.Do(commandName string, args ...interface{}) (reply interface{}, err 错误) 解决方案 您可以使用 reflect.TypeOf() 函数获取refl ..
发布时间:2021-12-23 17:23:15 其他开发

Swift:将未初始化的 C 结构传递给导入的 C 函数

我知道这个答案,但是这不是一回事 - 那是传递一个指针以使用分配进行初始化. 我正在与具有以下结构定义的 C 库交互: typedef struct myStruct { unsigned char var [50];} myStruct; 有一个函数可以将结构的地址传递给它 - 通常基于堆栈而不是堆,因此: myStruct mine;initMyStruct(&mine); 这会 ..
发布时间:2021-12-23 17:23:05 移动开发

使用 == 比较两个结构体

我正在尝试在 C# 中使用等号 (==) 来比较两个结构.我的结构如下: public struct CisSettings : IEquatable{公共 int 增益 { 得到;私人订制;}公共 int 偏移 { 获取;私人订制;}公共 int Bright { 得到;私人订制;}公共 int 对比度 { 获取;私人订制;}公共 CisSettings(整数增益,整数偏移,整数明亮,整数对比 ..
发布时间:2021-12-23 17:22:57 C#/.NET

我们可以在 Delphi 中实现 ANSI C 的 `offsetof` 吗?

供参考:offsetof 宏(!) 将struct 数据类型和指定结构的成员作为参数,并返回给定成员相对的整数偏移量到结构的开头.请参阅详细概述和参考资料. 泛型 offsetof 背后的逻辑非常简单,可以在 Delphi 中轻松重现 (或多或少)(字面上轻松,消除了预先声明的指针类型要求使其成为基本的内联表达式,请参阅 David Heffernan 的 answer 和 关于交换引用和取 ..
发布时间:2021-12-23 17:22:46 其他开发

下一个结构项,不完整类型

结构节点{下一个结构节点;内部标识;} 给出“下一个字段有不完整的类型错误". 这个结构有什么问题? 解决方案 在创建自引用数据类型时,需要使用指针来解决循环问题: 结构节点;结构节点{结构节点 * 下一个;内部标识;} ...应该可以,但在使用时注意正确分配内存. 为什么是指针?考虑一下:struct 定义的意义在于,当您说 node.id 时,编译器可以确定要分配多少 ..
发布时间:2021-12-23 17:22:36 其他开发

C 中明显的 NULL 指针取消引用实际上是指针算术吗?

我有这段代码.它似乎在这里取消引用一个空指针,但随后将结果与 unsigned int 进行按位与运算.我真的不明白整个部分.它的目的是什么?这是指针算术的一种形式吗? struct hi{长一;国际b;长 c;};int main(){结构嗨 ob={3,4,5};struct hi *ptr=&ob;int num= (unsigned int) &(((struct hi *)0)->b) ..
发布时间:2021-12-23 17:22:26 其他开发

通过 Matlab 中的另一个结构更新结构

我想知道是否有一种方便的方法可以在 Matlab 中使用另一个结构体的值来更新结构体.这是代码,使用 fieldnames、numel 和 for 循环, fn = fieldnames(new_values);对于 fi=1:numel(fn)old_struct.(fn{fi}) = new_values.(fn{fi});结尾 当然,我不想丢失 old_struct 中不存在于 new_ ..
发布时间:2021-12-23 17:22:08 其他开发

debugDescription:“预期解码数组<任何>"但找到了一本字典.",underlyingError: nil)

我想将一个在线 json 文件加载到我的应用程序中,但我遇到了这个错误: typeMismatch(Swift.Array,Swift.DecodingError.Context(codingPath: [], debugDescription:"本应解码数组,但找到了字典.",底层错误:nil)) 我查看了 stackoverflow,但其他解决方案并没有帮助解决我的问题. 我 ..
发布时间:2021-12-23 17:21:59 移动开发

引用成员的初始化需要一个临时变量 C++

struct Div{国际我;国际 j;};A级{上市:一个();分部÷}; 在我的构造函数定义中,我有以下内容 A::A() : divs(NULL){} 我收到以下错误: Error72 错误 C2354:'A::divs' : 引用成员的初始化需要一个临时变量 解决方案 必须初始化引用才能引用某事;它不能引用任何内容,因此您不能默认构造一个包含一个类的类(除非像其他人建 ..
发布时间:2021-12-23 17:21:51 C/C++开发

如何在 C# 中为结构设置默认值?

我正在尝试为我的结构设置默认值.例如 Int 的默认值 - 0,DateTime 的默认值 - 1/1/0001 12:00:00 AM.众所周知,我们不能在结构中定义无参数构造函数. struct 测试{整数;字符串 str;}课程计划{静态无效主(字符串 [] args){Console.WriteLine(default(Test));//显示结构体 test.Test 的命名空间和名称C ..
发布时间:2021-12-23 17:21:38 C#/.NET

编译器重新排序结构

假设我有一个这样的结构: struct MyStruct{uint8_t var0;uint32_t var1;uint8_t var2;uint8_t var3;uint8_t var4;}; 这可能会浪费大量(而不是一吨)空间.这是因为 uint32_t 变量的必要对齐. 实际上(在对齐结构以便它可以实际使用 uint32_t 变量之后)它可能看起来像这样: struct MySt ..
发布时间:2021-12-23 17:21:31 C/C++开发

从 C# 调用 FORTRAN dll 并将值分配给结构数组

我可以将 C# 结构传递到 FORTRAN 就好了.我什至可以在 FORTRAN 中将 C# 结构的数组作为 TYPE() 的数组传递.我遇到麻烦的地方是当我试图将值返回到 C# 时.下面是一个例子: fortran dll 是: 模块测试类型 VALUEREF整数*4 :: AENDTYPE VALUEREF包含子程序 TEST_REF(T,N)!DEC$ 属性 DLLEXPORT :: ..
发布时间:2021-12-23 17:21:25 C#/.NET

为什么普通变量不允许位域?

我想知道为什么位域适用于联合/结构,而不适用于像 int 或 short 这样的普通变量. 这有效: struct foo {整数栏:10;}; 但这失败了: int bar : 10;//“预期的 ';'在声明结束时" 为什么此功能仅在联合/结构中可用,而在变量中不可用?技术上不一样吗? 编辑: 如果允许,您可以创建一个具有 3 个字节的变量,而无需每次都使用 struct ..
发布时间:2021-12-23 17:21:17 其他开发

将打包结构成员的引用传递给模板.gcc 错误?

我遇到了一个问题,将结构成员传递给模板函数.该函数的目标是获取成员的地址和大小.这是一个简单的例子: 这是结构.它具有打包属性. struct TestStruct {无符号字符 elem1;无符号字符 elem2;uint64_t elem3;字符缓冲区[10000];int elem4;无符号字符 elem5;}__attribute__ ((打包)); 这是模板函数,它应该得到一个 ..
发布时间:2021-12-23 17:21:05 C/C++开发

Apple 对多线程引用和值类型的描述

我正在阅读 Apple 的文档.我以为我知道何时选择值类型以及何时选择引用类型,但我又回到了 Swif101.文档说: 值类型:数据将在多个线程的代码中使用. 引用类型:您想要创建共享的、可变的状态 引用类型不是也可以跨多个线程共享吗?这两行有什么区别? 解决方案 正如其他人所指出的,引用类型总是传递一个指向对象的指针,这是您想要“共享、可变状态"(如该文档)的理想选择你提到 ..
发布时间:2021-12-23 17:21:00 移动开发