Size: a a a

Язык программирования Julia / Julia programming language

2021 January 15

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
А, видимо никак.
julia> pointer_from_objref(x1)
ERROR: pointer_from_objref cannot be used on immutable objects
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
immutable на стеке выделяется
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну, стек то всё равно где-то обретаться должен, значит и адрес какой-то должен быть.
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
может и вовсе не выделяться
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Может и не выделяться, но я думаю не в этом случае.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
вот именно, может быть, а может не быть)
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
В этом случае - когда в REPL создаётся immutable переменная.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Там оптимизировать нечего, поэтому компилятор будет вынужден где-то объект создать.
источник

P

PS in Язык программирования Julia / Julia programming language
Ref?
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
ну работа функции же не может зависеть от оптимизации компилятора
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Не, Ref как раз создаст обёртку вокруг переменной. То есть увидеть можно будет адрес Ref переменной.
источник

AP

Alexander Plavin in Язык программирования Julia / Julia programming language
поэтому просто нельзя получать адрес
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
julia> pointer_from_objref(Ref(x1))
Ptr{Nothing} @0x00007f6ee1b77a30

julia> pointer_from_objref(Ref(x1))
Ptr{Nothing} @0x00007f6ee1bc1f10
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
еще есть Ptr
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
На самом деле это принудительно выпилили ещё в 0.6
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
То есть вообще-то адрес получить можно, но показывать его не хотят, чтобы опасные программы не писали.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Опасные в том смысле, что могут непредсказуемо сломаться.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
с REPL вообще другая история, там были какие-0то проблемы с глобальными переменными
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
то ли они все Any были, то ли странно вели себя в циклах
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Не, я немного не про то.

Просто раз вызывается === то было бы интересно посмотреть, что с чем сравнивается.
источник