diff options
| -rw-r--r-- | slide.pdf | bin | 294427 -> 321814 bytes | |||
| -rw-r--r-- | slide.saty | 37 |
2 files changed, 37 insertions, 0 deletions
| Binary files differ @@ -1434,6 +1434,43 @@ $lhs =& $rhs; +code-block-php(quiz-6-a); > > + + +section{|入り切らなかったクイズの解説|}< + +frame{参照の不思議クイズ: Q5}< + +listing{ + * 参照は(Cにおける)ポインタでないことを示す例 + * \inline-code(`$x`);への代入で、\inline-code(`$x`);が\inline-code(`$g`);と同じものを指すようになる + } + > + + +frame{参照の不思議クイズ: Q6}< + +listing{ + * プロパティの参照を作ると、本編で説明を省いた\inline-code(`zend_reference`);の\inline-code(`sources`);に情報が格納され、型チェックがおこなわれる + * 参照を使ってtyped propertyの型チェックを潜り抜けられないようにするための仕様 + } + > + > + + +section{|曖昧にごまかしていた説明の補足|}< + +frame{「AがBを参照する」という言い回しについて}< + +listing{ + * \inline-code(`$x =& $y`);と書いたとき、\inline-code(`$x`);と\inline-code(`$y`);は同じものを指している (本編の図を参照のこと) + * \inline-code(`$x`);が\inline-code(`$y`);を指しているわけでも、\inline-code(`$y`);が\inline-code(`$x`);を指しているわけでもない + * \inline-code(`$x =& $y`);と\inline-code(`$y =& $x`);はまったく同じ効果を持ち、区別できない + * しかし、本編では「AがBを参照する」や「AがBを指す」という言い方をしている。このあたりの解説を入れる時間がなかった + } + > + + +frame{ポインタの話}< + +listing{ + * C言語レベルで、構造体の中に値が埋め込まれているのか、ポインタ経由で間接参照しているのかは、本来厳密に区別する必要がある + * この発表はC言語の説明を極力排したので、ポインタの解説が入れられなかった + * そのため、ポインタかどうかの区別はごまかし、図では矢印を使っている + * 本当なら矢印が何を意味するのかを説明する必要があるが、入り切らなかった + * 知りたいかたはオリジナルのソースをご覧ください + } + > + > > > |
