I am going through "rust by practice", here is my quesiton
Are ref or & same when get a reference?
let c = '中';
let r1 = &c;
let ref r2 = c;
let c = '中';
let r1 = &c;
let r2 = &c;
I am going through "rust by practice", here is my quesiton
Are ref or & same when get a reference?
let c = '中';
let r1 = &c;
let ref r2 = c;
let c = '中';
let r1 = &c;
let r2 = &c;
Yes, let ref r2 = c;
and let r2 = &c;
do the same thing. The latter (using &
) is more idiomatic, while ref
can be useful as part of a more complicated pattern e. g. in a match
.
Strictly speaking, ref
in the pattern (i.e. on the left side of let
, before the arrow in the match
arm, in the function signature, etc.) is the same as &
in the value, while &
in the pattern roughly corresponds to dereferencing of the value.
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.