逆参照:リファレンス/ xはL値(の変数を言わせて)、次のアイデンティティが保持されるアイデンティティ
のx == *(& x)の
これは説明するのは非常に簡単です、 & xはxへのポインタであり、逆参照演算子*は& xに適用されるため、xはもちろんxを返します。
ここで、逆の意味があるのだろうかと思います。私は疑問に思って正確には場合
のp == &(* P)
pは非ダングリングポインタである
。 これは意味があるようです。なぜなら、* pは既にそれにポインタ(=アドレス)pを持っているため、* p自体がL値(アドレスを持つ値)であるからです。だから、&(* p)はpになる可能性がないので、そのようなポインタはユニークであることだけを知る必要があります。したがって、両方のアイデンティティが真の場合、数学的に、*と&はお互いの逆関数であると言うことができます。
正しいですか?この主張されているルールには例外がありますか?
'p 'がポインタでない場合、'&(* p) 'は実行できません。 – karlphillip
...しかし、質問はすでに "pがぶら下がりのポインタである"と述べています。 –
おそらく、 "adjoint functors"は "逆"よりも良い言葉でしょう。なぜなら2つは異なる種類のもので動作するからです。 –