172 похожих чатов

Спасибо, да вот, к сожалению, не понятно многие вещи, а

именно почему именно вызывает deref при передачи параметра в функцию, а может вызваться что-то еще?

12 ответов

14 просмотров

она вызывается при разыменовании указателя, а не передачи в функцию

­- Автор вопроса
doc
она вызывается при разыменовании указателя, а не п...

Разменивания указателя - это оператор "*", но я в коде этого не делаю.

­- Автор вопроса
doc
взятии указателя, прошу прощения

А как он понимает, что нужно взять указатель именно числа, а не структуры?

­
А как он понимает, что нужно взять указатель именн...

Потому что в функции test() написано v:&i32, а не &Test

­
А как он понимает, что нужно взять указатель именн...

он не понимает. он у структуры, на которую берут указатель, вызывает deref

­- Автор вопроса
red75prime
Потому что в функции test() написано v:&i32, а не ...

Все верно, но в функцию передается test(&Test), а не test(&122)

­- Автор вопроса
doc
он не понимает. он у структуры, на которую берут у...

Да, всё верно, идет неявный вызов и компилятор по факту за меня дописывает: Test.deref

­
Все верно, но в функцию передается test(&Test), а ...

If T implements Deref<Target = U>, and x is a value of type T, then: In immutable contexts, *x (where T is neither a reference nor a raw pointer) is equivalent to *Deref::deref(&x). Values of type &T are coerced to values of type &U T implicitly implements all the (immutable) methods of the type U. Вторая строчка: значения типа &T (у нас &Test) преобразуются в &U (у нас &i32)

­- Автор вопроса
red75prime
If T implements Deref<Target = U>, and x is a valu...

Да, спасибо. Я читал доку, более менее я разобрался как работает Deref, но как бы так сказать, я прошу, может кто знает, где есть материалы, где более подробно рассказывают о таких вещах, как неявный вызов + трейты

­
Да, спасибо. Я читал доку, более менее я разобралс...

https://stackoverflow.com/questions/28519997/what-are-rusts-exact-auto-dereferencing-rules Там в ответах ещё есть ссылки на сорцы

­- Автор вопроса
Maxim Biryukov
https://stackoverflow.com/questions/28519997/what-...

ох, ёпрст, спасибо. Пойду разбираться!

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта