aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--slide.pdfbin294427 -> 321814 bytes
-rw-r--r--slide.saty37
2 files changed, 37 insertions, 0 deletions
diff --git a/slide.pdf b/slide.pdf
index f787de3..6d3d9c3 100644
--- a/slide.pdf
+++ b/slide.pdf
Binary files differ
diff --git a/slide.saty b/slide.saty
index ec1a727..dc36446 100644
--- a/slide.saty
+++ b/slide.saty
@@ -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言語の説明を極力排したので、ポインタの解説が入れられなかった
+ * そのため、ポインタかどうかの区別はごまかし、図では矢印を使っている
+ * 本当なら矢印が何を意味するのかを説明する必要があるが、入り切らなかった
+ * 知りたいかたはオリジナルのソースをご覧ください
+ }
+ >
+ >
>
>