Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pointers 在Swift中,如何确定两个非安全指针是否引用相同的内存?_Pointers_Swift_Equality_Unsafe Pointers - Fatal编程技术网

Pointers 在Swift中,如何确定两个非安全指针是否引用相同的内存?

Pointers 在Swift中,如何确定两个非安全指针是否引用相同的内存?,pointers,swift,equality,unsafe-pointers,Pointers,Swift,Equality,Unsafe Pointers,我有两个类型为“UnsafePointer”的变量,它们应该指向两个浮点数的C数组 我已经知道如何访问它们指向的内存值 我不知道怎么做,就是确定它们是否都引用相同的内存(即:都指向相同的地址) 如何检查两个UnsafePointer存储的内存地址是否相同?在Swift中,UnsafePointer符合可比协议,因此您可以 只需将指针与=进行比较即可。示例:一个C函数 float *foo(void); 映射到Swift作为 func foo() -> UnsafePointer<F

我有两个类型为“UnsafePointer”的变量,它们应该指向两个浮点数的C数组

我已经知道如何访问它们指向的内存值

我不知道怎么做,就是确定它们是否都引用相同的内存(即:都指向相同的地址)


如何检查两个UnsafePointer存储的内存地址是否相同?

在Swift中,
UnsafePointer
符合
可比协议,因此您可以
只需将指针与
=
进行比较即可。示例:一个C函数

float *foo(void);
映射到Swift作为

func foo() -> UnsafePointer<Float>

正如Joachim在评论中所说,指针值是它指向的内存地址。因此指针相等意味着它们指向相同的内存地址。

在Swift中,
UnsafePointer
符合
Comparable
协议,因此您可以 只需将指针与
=
进行比较即可。示例:一个C函数

float *foo(void);
映射到Swift作为

func foo() -> UnsafePointer<Float>

正如Joachim在评论中所说,指针值是它指向的内存地址。因此指针相等意味着它们指向相同的内存地址。

UnsafePointer
看起来不像C。你确定
C
标记吗?至于你的问题,指针值是它指向的内存的地址。
UnsafePointer
看起来不像C。你确定
C
标记吗?至于你的问题,指针值是它指向的内存的地址。这不可编译,Martin“函数生成预期的Int类型,你想用()调用它吗?”如果我用大括号调用Int,我假设Int是内存地址,但我想再次检查一下。@charlessim:这只是一个例子。当然,
=…
不会编译。你必须填写你的指针。这不能编译,Martin“函数产生预期的Int类型,你是想用()调用它吗?”如果我用大括号调用它,我假设Int是内存地址,但我想再次检查。@charlessim:这是一个例子。当然,
=…
不会编译。你必须填写你的指针。