Как я могу получить адрес памяти типа значения константы в Swift? - PullRequest
0 голосов
/ 18 апреля 2019

Я хочу получить адрес памяти типа значения константы в Swift. Например, с переменными это выглядит так:

Мой код:

var value = 10
withUnsafePointer(to: &value) {
   print(" str value \(value) has address: \($0)")
}

1 Ответ

3 голосов
/ 18 апреля 2019

Существует вариант из withUnsafePointer(to:,_:), который принимает аргумент non-inout в качестве первого входного аргумента.

let immutableValue = 1
withUnsafePointer(to: immutableValue, { pointer -> Void in
    print(pointer)
})

Как указывал MartinR, этот указатель действителен толькодля вызова замыкания.

Также важно отметить, что при значениях, известных во время компиляции, компилятор может заменить значение вместо переменной, поэтому переменная может даже не существовать в памяти во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...