value-type 相关问题

在计算机科学中,术语值类型通常用于表示两种数据类型之一:值的类型或具有深拷贝语义的对象类型。

在方法中使用什么来代替 ValueTuple?

我有一个带有本地 valueTuple 列表的方法 列表<(BalanceRateRange range, Rate rate)> arr 在 foreach 中,我搜索一个项目,我想更改该项目的属性“速率”...

回答 1 投票 0

不可能实现不可变的结构类型

类字符串是不可变的。不可能实现不可变的结构类型,因为您无法禁用或覆盖赋值操作 (=)。即使您定义了只读结构,您也可以随时更改...

回答 2 投票 0

不可能实现不可变的结构类型

类字符串是不可变的。不可能实现不可变的结构类型,因为您无法禁用或覆盖赋值操作(=)。即使您定义了只读结构,您也可以随时更改

回答 1 投票 0

结构体和类对象数组的内存分配

昨天我在读C#参考,在那里我看到了一个声明。请看一下下面的声明。 语境: 对 Point 使用结构而不是类可能会产生很大的不同......

回答 2 投票 0

在java中的堆栈内存上创建对象?

这只是出于好奇而提出的一个简单的理论问题。我一直都是一个java迷。但是有一件事让我想知道为什么java不提供在st上创建对象的机制...

回答 4 投票 0

比较结构是否相等,无需装箱

我遇到了一种适用于结构体(SomeStruct)的扩展方法,并返回该值是否等于默认值(SomeStruct)(当调用无参数构造函数时)。 公开

回答 2 投票 0

为什么 Valhalla 项目不引入可变结构体?

在我看来,如果原始类不像当前建议的那样是不可变的,而是更像 C 结构,那么它们可以表现得更有效(以合理的大小)。 给定这个原始类

回答 1 投票 0

C++ 函数作为参数,其参数可以按值或按引用传递

我有以下函数,其中 processArray 是用于处理数组的通用函数。函数作为参数传递给它,以便每个元素也可以被处理。 寺庙...

回答 1 投票 0

如何以“__SwiftValue”的形式获取 swift 结构体的实际类型

我正在使用 YapDatabase 来编码/解码我的 Swift 值类型。解码后,类型信息似乎丢失了,即 type(of:element) 返回 __SwiftValue 而不是,例如 Reservation。 如果我...

回答 1 投票 0

“子类化”通用结构

是否可以在 swift 中对通用结构进行子类化? 假设我们有一个结构: 结构 Foo {} 我想“子类”它来添加一些功能: 构造一些东西{} 结构栏 是否可以在 swift 中子类化通用结构? 假设我们有一个结构: struct Foo<T> {} 我想对其进行“子类化”以添加一些功能: struct Something {} struct Bar<F>: Foo<Something> { /*<<<= ERROR: Inheritance from non-protocol type 'Foo<Something>' */ let store: Something let someF: F } 如果将 struct 替换为 class,则此示例有效。 class Foo<T> {} //struct Bar1<T>: Foo<T> { /* Inheritance from non-protocol type 'Foo<T>' */ // let name = "Bar" //} class Something {} class Bar<F>: Foo<Something> { /* Inheritance from non-protocol type 'Foo<Something>' */ let store: F? init(value: F?) { self.store = value } } 知道如何使其适用于结构吗? 我试图坚持使用值类型,但 swift 让它变得很困难。 我的理解是继承是类和非类对象(如 swift 中的结构和枚举)之间的主要区别。类具有继承性,其他对象类型则没有。 因此,我认为答案是“不,不是现在,也不是永远,按照设计。” 编辑: 正如 Ammo 在下面的评论中指出的,另一个关键区别是类对象是通过引用传递的,而非类对象(如结构)是通过值传递的。 由于像struct这样的值类型不可能继承,所以我会这样构建它: struct Foo<T> { //... } struct Bar<T> { let store: Something let someT: T } 然后使用组合来构建它们: struct FooBar { let foo: Foo<SomethingFoo> let bar: Bar<SomethingBar> }

回答 2 投票 0

数组内值类型的垃圾集合

假设我有一些小数据类型 - 例如一个简单的点实现。我可以将此类型实现为引用类型(类),也可以实现为值类型(结构)。 公共类 PointClass {...

回答 1 投票 0

C# 中字符串会被装箱吗?

2024 年 1 月 5 日更新:此链接的答案似乎表明 C# 编译器在尝试将字符串转换为对象时完全删除了对象转换:https://stackoverflow.com/a/51381643/3。 ..

回答 3 投票 0

为什么必须将固定大小的缓冲区(数组)声明为不安全?

假设我想要一个 7 字节(或 3 或 777)的值类型。 我可以这样定义它: 公共结构 Buffer71 { 公共字节b0; 公共字节b1; 公共字节b2; 公共字节 b3;...

回答 3 投票 0

是引用类型字段的时候是值类型装箱吗?

有代码: 结构A { 整数b; } B级 { 一个一个; 整数b; } 问题是: B 中的 a 是否已装箱? B 中的 a 位于栈中还是堆中? A 中的 b 是否已装箱? b 是在 A 栈中还是在 hea 中...

回答 6 投票 0

c# 中可空值类型存储在哪里?栈还是堆?

C# 中可空值类型存储在哪里?栈还是堆? 我有以下代码: 整数?数字=空; 根据这个答案: 可空类型是一个由两个字段组成的结构:bool a...

回答 1 投票 0

ValueType 作为类中的属性

我对值类型作为类中的属性的概念有点困惑。 据我了解,当调用 getter 时 - 返回值类型的副本。 让我们举个例子: 公共结构 Po...

回答 2 投票 0

复制结构时“幕后”到底发生了什么?

在Swift中,Struct是值类型,而Class是引用类型。因此,两个不同的变量不能指向相同的底层结构实例,但它们可以指向相同的实例...

回答 0 投票 0

所有结构的写时快速复制吗?

我知道 swift 会优化数组的写时复制,但它会为所有结构执行此操作吗?例如: 结构点{ 变种x:浮动= 0 } var p1 = 点() var p2 = p1 //p1 和 p2 共享...

回答 2 投票 0

Kotlin 数据类是值类型还是引用类型?

我来自Swift背景。 Swift 同时支持“值”类型和“引用”类型,我有点好奇。 Kotlin有类似的概念吗? 默认情况下,任何类都是引用...

回答 1 投票 0

为什么固定大小的缓冲区(数组)一定是不安全的?

假设我想要一个 7 字节(或 3 或 777)的值类型。 我可以这样定义它: 公共结构 Buffer71 { 公共字节 b0; 公共字节 b1; 公共字节 b2; 公共字节 b3;...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.