1 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 17:37:41 ] プログラム技術板倉庫 s225.web.fc2.com/index.html 前スレ 推薦図書/必読書のためのスレッド 48 pc12.2ch.net/test/read.cgi/tech/1241593031/
357 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:08:12 ] 比喩はあくまで比喩なんだから、理解できた後は、投げ捨てるべきハシゴなんだよ。 比喩の周りをぐるぐる回っていても、理解できたことにはならない。
358 名前:339 mailto:sage [2009/06/28(日) 17:09:26 ] アセンブラからプログラム始めた俺からみたら全部箱にしかみえんのだがな・・・
359 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:09:32 ] 住所というより、その場所に行く地図だな。 箱に入った地図を見つけて地図に書いてある道を進むと 探している宝物がみつかるんだよ。
360 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:10:02 ] アセンブラでもアドレスの数値その物は箱ではなかろう
361 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:11:14 ] ポインタって要はアドレスを入れる変数じゃないか
362 名前:デフォルトの名無しさん [2009/06/28(日) 17:11:21 ] ポインタで一番悪い意味でハマッたのが多次元配列の関数受け渡しだったな ここで解は得られたけどホント納得したくない、引数に定数なんて… www.nurs.or.jp/~sug/soft/tora/tora10.htm
363 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:11:23 ] 逆に言うと、宝箱に宝物を入れて隠した後、宝の地図を書いて箱にいれて隠して、 その宝の地図の入った地図の地図の入った箱がポインターノポインターになるわけさ。
364 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:11:26 ] ポインタはどうやって学ぶべきか part2 pc12.2ch.net/test/read.cgi/tech/1217147291/
365 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:12:30 ] >>361 その変数に入ってるアドレスをポインタと呼ぶこともあるよ
366 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:12:43 ] >>361 変数じゃなくてアドレスの数値その物らしいぞ。よく意味は分からんが。
367 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:13:29 ] ポインタについて「ユリーカ」体験がなかったと言う人間が来たら、 そいつにプロジェクトを任せるのは、ちょっと躊躇するな。 件の本が、そのような体験を不要にしているのなら、それに越したことはないと思うが。
368 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:13:52 ] >>366 基本的には両方あるんだよ まあ、まずこの2つがあるというのを知るのが基本中の基本で、 第一歩目ぐらいなんだが
369 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:14:05 ] C言語入門を卒業したものですが コードコンプリート読んでも理解できません 実践的すぎてよくわからないんです。 私はどんな本を読めばいいのでしょうか?
370 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:15:54 ] >>368 ポインターは地図で、地図の入ってる宝箱もポインターってことだろ?
371 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:17:25 ] >>347 Cマガの2001年7月号のポインタ特集もいいよ。
372 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:19:42 ] 両方あるっていうのがやっぱり理解できんなあ ポインタとして宣言した変数の中に入っているのはアドレス(そのアドレスが何wを意味するかは話は別) なんか理解間違っているか? スレ違い、どんとこい
373 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:22:28 ] 型情報も付属している
374 名前:デフォルトの名無しさん [2009/06/28(日) 17:22:37 ] もうポインタなんて名前やめちまえよ、矢印でいいよ矢印で
375 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:23:09 ] まさか宝箱に宝箱を入れようとしてないか? 宝箱に宝箱を入れることはむりなんだよ。 だから宝箱から地図を出してもう一つの宝箱に入れる あたりまえのことだろ。
376 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:24:13 ] >>372 何も難しいことはない 単に、アドレスのことをポインタと呼ぶこともあるというだけだよ 同じ名前でも、二つの違った概念を表してるだけ アドレス≒メモリの番地を表すもの≒そのメモリの番地にあるものを 指し示すもの≒ポインタ というニュアンスで、アドレス≒ポインタとなる
377 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:26:45 ] >>373 型情報はポインタそのものに付属している訳じゃなく処理系が管理してるだろ?
378 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:26:46 ] 地図と宝箱はふたりでひとつなんだよ。 何も入ってない宝箱は真っ白な砂漠の場所を表しているんだよ
379 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:29:04 ] そもそも今大学でポイントなんて教えないのに ここで議論する意味あるの? 教える人間がポイントはねぇ〜...で終わる
380 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:30:17 ] int型の変数もint型の数値もintだ、程度のブレだと思ってたけど
381 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:31:17 ] >>377 ポインタに型情報が付属 ポインタが何を指すかには処理系が管理している これ、何が違うんだw 後者は前橋氏が完全制覇で使ってた表現だったか
382 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:32:29 ] まあ、文字も数字もコンピュータ内部の表現では2進数だけど、 C言語の中では型があるよねみたいなこと
383 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:33:59 ] ま、ポインタ型には種類があるよね、ってことを知るのが第二歩目かな
384 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:36:27 ] >>355 少なくともその状況では俺は [ ] しか使わん
385 名前:デフォルトの名無しさん [2009/06/28(日) 17:36:56 ] ここまでぬるぽなし
386 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:38:04 ] ぬるぽ
387 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:38:32 ] がっ
388 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:40:07 ] >>377 そこは、こだわらなくていい。 コーディングする際に知っておくべきことの一つ。
389 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:42:54 ] >>369 あれは実際にコードを書いていて悩んだときにめくるといいよ
390 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:45:55 ] 自分はポインタの配列と二次元配列がさくさく使えるようになったころ、 不意にポインタの構造が理解できた感じだったなぁ。
391 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:47:07 ] ポインタがわからん人はコンパイラを書いてみればいいんだよ
392 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:51:09 ] 規格書を読むと良い。 俺が最初ピンと来なかったポインタのdecayについても 詳しく書かれている。
393 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:51:27 ] コンパイラを書くまでもなくPCやSPをいじれば理解できない?
394 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 17:56:55 ] アセンブリコードを吐かせるオプションつけてコンパイルしてデバッガで解析 ていうかスレチだな
395 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:04:36 ] CODE コードから見たコンピュータのからくり: Charles Petzold, 永山 操 www.amazon.co.jp/exec/obidos/ASIN/4891003383/ このスレ的には、これを出しとけば十分。
396 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:08:49 ] 関数ポインタの配列を使ってポリモーフィズムを実現するコードをそらで記述できなければポインタを理解したとは言えない
397 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:14:00 ] それは単なるテクニックで、ポインタの理解とは全く無縁だと思うが
398 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:19:50 ] ここでいろいろ議論されてる時点で ポインタがどれだけ難しいかわかる。
399 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:20:11 ] CASLでもいいからアセンブラを覚えて、 実効アドレスを理解できれば、ポインタも理解できるよ。
400 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:22:16 ] Accelerated C++では関ポは引数の形くらいでしか出てこない、 Effective C++ではメンポは珍獣の類と評されていた。 C++の場合、引数の型の場合は関数宣言と同形の糖衣構文が許されるし 呼び出し側も明示的にアドレス演算子をつけなくて良いので なんかこう、オブジェクトをやり取りしている感じのスマートさがあるよね★
401 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:25:00 ] 関ポ、メンポにワロタ
402 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:28:01 ] bindやmem_funなんかを駆使するC++がスマートとな
403 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:35:53 ] >>399 Cのポインタの難しさの本質は、Cのポインタにまつわる構文の 混乱にあるから、それだけ理解したところで不十分
404 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:38:14 ] つまり>>397 はポインタを理解してない低脳
405 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:39:03 ] ポインタはわかった気になってるときが一番問題 わからないうちとわかってからはどうってことない
406 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:44:57 ] 他人のコードを憶えててそらで書く人もいるしな 〜なコード書ければOKってのは当てにならない気がする
407 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:48:11 ] 次のお題 Javaに参照渡しはあるのかないのか
408 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:50:49 ] Javaに興味なし^^
409 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 18:54:42 ] ポインタネタになるとおもしろいようにスレが伸びるな
410 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:06:08 ] JavaとかOOPつかえねーからな ここのスレの奴ってw
411 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:07:48 ] >>407 Javaは参照型はすべて参照渡し
412 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:19:06 ] 和書のポインタ本だとポインタ完全制覇が定番だと思うが 洋書でポインタ本だと何が定番になるの?
413 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:19:10 ] >>410 OOPが使えるようになる本を紹介してください
414 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:29:45 ] そもそも日本人はITに向いてないから 勉強するだけ無駄洋書も読めないし
415 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:33:24 ] ポインタは本質的には対象指示の関係で それ自体頭を使わなきゃいけない問題だが Cの場合は言語設計者に悪意があって、 非常に混乱しやすく出来ている。 まぁ要するに、極端な馬鹿をコミュニティに入れないように 試練を与えたのさ
416 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:48:04 ] 1番地に2を入れる。 5番地に4を入れる。 1番地と5番地の数値を足した番地に10を入れる。 6番地には10が入ってる。 20年くらい前の雑誌の説明にこんなのあったな。
417 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:48:37 ] 自分プログラミング初心者でネコでもわかるC言語買ったんだけど 最初の第一章って読むべき?早く二章のC言語の基本ってのをやってみたいんだが 必須の知識かな?
418 名前:デフォルトの名無しさん [2009/06/28(日) 19:50:43 ] 331 :デフォルトの名無しさん:2009/06/28(日) 15:53:44 >入門 >初級 ポインタ完全制覇 >中級 >上級 >入門書読み終わって少し実践積んだ程度の初級者は読む価値あるよ。 オマエ等って初級以下だぞ 大丈夫か?
419 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:52:33 ] ポインタの本読み終わったら 30日OSでもつくりゃいいじゃん アセンブラも理解できるし
420 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 19:57:25 ] >>417 そんなことも自分で決められないのか? 一章にどんなこと書いてあるのか知らないけど、 とりあえず二章から読んでいけばいいんじゃないの 入門書ぐらいは全部読んだ方がいいと思うけど
421 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:02:53 ] >序文 >問題 誰も序文なんか読まない。 >解答 序文を第1章と呼んだらいい。 >解答によって作り出された新問題 第1章はたいくつだ。 >解答 第1章なんかやめて、第2章を第1章と呼んだらいい。 「ライト、ついてますか」より。
422 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:05:24 ] 入門だの初級だの定義も示さず煽り合っても埒があかんだろ ポインタが分からなければ読んでみればいいんちゃうの
423 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:06:33 ] >>418 煽りしか出来ない低脳君頭大丈夫?
424 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:11:26 ] >>418 は実際当たってるけどね・・・ >>411 お約束ありがとう
425 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:20:00 ] このスレの人ってプロもいるんじゃないの? ちなみに私はプロじゃないので学生グラマーですけど。
426 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:21:25 ] >>425 テンプレ嫁 素人はROM専だバカヤロウ
427 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 20:37:37 ] セミプロっていっとけ
428 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:25:29 ] グラマーな学生・・・・・・・
429 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:25:47 ] ポインタは箱の一種じゃない。[e.g. (p + 1)などの式] それはポインタ型変数の事を言おうとしているのだろう。 FOLDOCより 1. <programming> An {address}, from the point of view of a programming language. A pointer may be typed, with its {type} indicating the type of data to which it points. プログラミング言語から見た「アドレス」。 ポインタは指し示すデータの型に合わせて型付けされている。
430 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:27:27 ] 何をぐちゃぐちゃやってるんだw ポインタに2種類ある? 要するに、ポインタ変数とポインタ値(=アドレス)の 両方のことをポインタと呼んでるってことか。 今まで、それで混乱したことはなかったなあ。 int a = 3; としたとき、aも3も整数って呼ぶからが混乱するってこと?
431 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:37:07 ] >>429 そのくらいはここにいる連中皆わかってるんじゃね?
432 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:37:53 ] お馴染みジョエル。 「どうやら大部分の人々はポインタを理解するための 脳の一部分を持たずして生まれてくるようだ。 ポインタの理解はスキルではなく、才能の類である。 ポインタの理解にはインダイレクト且つ 多重に関連付けを行う論理的思考が要求され、 どうあがいてもそれが出来ない人だっているのだ」 ttp://japanese.joelonsoftware.com/Articles/Interviewing.html 難しいというヤツは才能ないんだから諦めろ。
433 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:46:12 ] だからアセンブリ言語やればすぐ分かると言っとるに
434 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:51:00 ] MIPSの勉強始めてみたわ
435 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:52:02 ] >>431 文盲か? 分かってない奴がワラワラ湧いていただろう。
436 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:52:46 ] >>432 ポインタの問題以前に、どうあがいても 関数(サブルーチン)が分からないやつもいるなー。 完全にプログラマとしての適性はないんだけど、 そういう奴に教えないといけなくなったら、非常にやっかいだ。
437 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:56:32 ] >>432 諦めきれないよ・・・ JAVAに逃げるしかないのか・・・ でも才能ってのは納得だな 俺のポインタの認識は理解というよりもややこしい なにがわからないかわからない と言う状態だから・・・
438 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:58:14 ] >>435 君の読解力が足りないだけじゃねーの?
439 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 21:59:28 ] >>437 関数型言語やろうぜ ポインタいらんぞ
440 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 22:06:05 ] >>437 直感的に分かるやつは、K&R読んだだけで分かる。 どうしても分からないやつは、急がば回れだ。 情報処理技術者試験のCASL2程度の 簡単なアセンブラをやってみればいい。 レジスタにアドレスを入れて使わないと、何もできないから。
441 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 22:23:36 ] >>437 「Cの強化書」をお勧めする。異論は認める。
442 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 22:26:15 ] 強化書… 強そうな本だな。スパーCプログラマに変身できるのか?
443 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 22:27:37 ] >>442 使うとドーピング違反で業界から追放される 理解はできるようになるけど
444 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 22:41:40 ] あまりに強力すぎて業界から禁書指定されるのか… ふ、俺にぴったりだぜ…
445 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:35:08 ] 「とある言語の禁書目録」 \103,000
446 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 23:42:44 ] とりあえず、アクセス禁止のメモリ領域までポインタが飛んでった時は笑った
447 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:12:02 ] むずかしい、むずかしい言ってるから、余計 理解できなくなるやつが増えてるに100000票。
448 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:24:42 ] >>437 Javaに「逃げる」ってなんだよ。迷惑だからやめてくれ。 大規模なソフトでデータ構造を作るのに 言語を問わずポインタは必須だ
449 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:26:00 ] Java は参照型は全部ポインタだしな 足し引きはできないが
450 名前:デフォルトの名無しさん [2009/06/29(月) 00:44:20 ] Javaに「降る」
451 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:49:49 ] 足し引きが出来るのはCでポインタを実現する手段としてアドレスを まんま利用してしまった結果であってポインタの本質ではないな。
452 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:50:45 ] >>451 お前アホだろ
453 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:57:21 ] ランダムアクセスイテレータにモニカを組み合わせたような物がポインタだからな… 原始的すぎて理解が困難なのかも
454 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 01:05:39 ] ポインタの概念は簡単だけど表記ルールがややこしいんだよ。 余計なシンタックスシュガーを廃止すれば混乱は避けられるはずなのに。
455 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 01:06:16 ] モニカって何だ? C++で言うイテレータはポインタを一般化したものだぞ
456 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 01:27:52 ] >>411 その参照渡しってのが Call by reference のこといってんのなら違うよ。 呼び出しは Call by value でやってる。
457 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 03:14:25 ] >>432 そこのページに「文字列をインプレイスで逆転する」っていうのがあるんだけど、 仮にabcdef0とあったとき(0は'\0'終端と考えてね^^)、 aとf、bとe・・・とswapしていくにしても、 どうしてもswap関数の中で文字一個分のバッファが必要になるよね? インプレイスでこれも使えないとなると、 やっぱり、終端部分をswap時の待機場所として流用するしかないのかしら。