科特林有指针吗? 如果是,
如何增加指针?
如何减少指针?
如何进行指针比较?
答案 0 :(得分:7)
它具有引用,并且不支持指针算术(因此您不能递增或递减)。
请注意,“具有指针”允许您执行的唯一操作就是创建指针和取消引用指针的能力。
与“指针比较”最接近的是引用相等,它是由===
运算符执行的。
答案 1 :(得分:0)
Kotlin 中没有用于像 C 这样的低级处理的指针。
但是,有可能在高级编程中模拟指针。
对于低级编程,有必要使用特殊的系统API在 Windows ,Linux
等中存在的内存中模拟阵列。了解内存映射文件{{3} }和here。 Java here库可直接在内存中进行读写。
单个类型(数字,字符串和布尔值)是值,但是,其他类型是 Kotlin 中的引用(高级指针),可以进行比较,赋值等。
如果需要增量或减量指针,只需将所需的数据包封装到一个数组中
对于模拟指向简单值的指针,只需将值包装在一个类中即可:
data class pStr ( // Pointer to a String
var s:String=""
)
fun main() {
var st=pStr("banana")
var tt=st
tt.s = "melon"
println(st.s) // display "melon"
var s:String = "banana"
var t:String = s
t.s = "melon"
println(s.s) // display "banana"
}