[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 19:54 / Filesize : 171 KB / Number-of Response : 914
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ポインタはどうやって学ぶべきか



1 名前:デフォルトの名無しさん [2007/10/24(水) 04:07:56 ]
なんと!意外にもスレが無かったので立ててみました

先日のソフトウェア開発技術者試験午後UのB木のポインタ表現
近年の基本情報技術者試験の午後C言語問題の自己参照構造体
など物凄く出来が悪いです。

ゆとり?文系?自作減少?
ブラックボックス化されてメモリ管理やコンピュータの細かい知識が不要となった?

本当にポインターは必要なのか!?議論しましょう

488 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:24:09 ]
微積分マスターよりポインタマスターの方が数段楽。覚えなきゃいけない事項の絶対量が少なすぎる。

489 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:27:41 ]
ポインタって何を覚えるんだ・・・

490 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:31:09 ]
ポインタ(の存在意義)がわかりませんって面接で言ったらなにがわからないのか聞いてくるから
とくとくと語ってみたら面接官涙目になってた。

491 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:32:16 ]
面接官って技術者の人やってんのかー
ウチの会社は総務だか人事だかがやってたなぁ・・・

492 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:44:45 ]
ポインタがわからないって、ものごとの裏側(仕組み)が
どうなってるのか少しも考えてこなかった証拠じゃね?
コンピュータの中で関数がどうやって呼び出されてるのとか、
変数はどうやってわたされてるのとか、
時計の針はどうやってまわるのとか、
えんぴつとか棒付きアイスはどうやってつくるのとか
普通は自分なりに考えてみるものじゃん

493 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:46:38 ]
赤ちゃんはどうやっ(ry

494 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 14:57:32 ]
>>492
そうやって裏側の裏側の裏側の……って調べていくとキリがないので、
あるところで計算を打ち切ってcall-by-needで遅延的な思考をすることだってあろう。
そのためにいろんな学問やら処理系やらは多層構造になってるし、
インターフェースが決まってれば実装が見えなくたってかまわないんでしょうよ。
コンピュータをやるなら最低でもアセンブラとかマシン語が云々、とかいう人はそこが分かってない。

495 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 15:03:53 ]
このスレポインタスレだからしょうがないかと思っていた

496 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 15:19:54 ]
アセンブラ出身の俺からみてポインタはなんであんな面倒な仕組みなのか理解できないよ。



497 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 15:21:36 ]
おっちゃん乙

498 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 15:26:45 ]
>>494
違うんだ
具体的な仕組みを正確につきとめるというより
少なくとも自分のなかでつじつまが合うように
モノゴトの裏側を想像するってこと
抽象化して考えることが出来る奴は、少なくとも
具体の一例を想像して挙げてみることができると思う

499 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 15:38:00 ]
合理的に考えられる奴ならポインタのおかしさ、不自然さに気づくだろうよ

500 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 15:39:28 ]
>>478
ぬるぽは、あらゆるポインタ型について存在する。
int*のぬるぽ、void*のぬるぽ、char*のぬるぽ、void(Foo::*)(void)のぬるぽ・・・
定数「0」は任意の型のぬるぽに暗黙に変換できるので、NULLマクロを0と定義しているのは妥当。
単なる0でなく(void*)0と定義してる場合もあるが、その理由は、単なる0は整数型にもなるので、
char c = NULL;
と書くバカがしばしば現れるため。
(void*)0は整数型としては通らないので、これで一応そういうバカを少しは防げる。
Cではvoid*はあらゆるポインタ型に暗黙に変換できるので、これでも特に問題はない。
C++ではvoid*の暗黙の変換が無くなったので、(void*)0をNULLの定義には使えなくなった。
つまり例えば
int *p = (void*)0;
というのはCでは通るがC++では通らない。

501 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:08:17 ]
>>486
16進定数は0xで始まらないといけないので、数値0をあらわすには0x0とする必要がある。

502 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 17:58:23 ]
>>499
kwsk

503 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 17:59:57 ]
kwsk聞いたら宣言の話だった、というのは無しにしてほしい。

504 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:00:50 ]
8進の0って表記では00じゃないの?

505 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:33:06 ]
どっちでも一緒だからどうでもいいよ、ポインタと関係ないし

506 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:31:04 ]
世の中にポインタと関係ないものなんてないよ



507 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:59:05 ]
Javaにはポインタは存在しないのに
なぜ NullPointerException が出てくるんですか?

508 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 23:03:29 ]
語呂がいいから

509 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 23:12:29 ]
>>507
ガッ

510 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 23:17:32 ]
JavaにポインタがないこととJavaVMにポインタがないことは別だから。

511 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 18:22:20 ]
ポインタがわからないという概念がわからない

512 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 20:19:17 ]
概念は分かるけど、使い方が難しい、使いどころが分からないってことなんだろう多分

513 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 23:54:11 ]
同じことをするのに何通りも方法があるのが混乱のもと。

514 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 00:38:36 ]
だから、バカ用言語のjavaが出来たのだよ

515 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 02:53:01 ]
同じ著者?のExcelのVBAの本はわかりやすいのに
こっちは結局よくわからんかった。著者はCを知らないっぽ
www.amazon.co.jp/product/dp/4798011924


516 名前:デフォルトの名無しさん mailto: sage [2007/11/27(火) 13:53:19 ]
Javaは単に見えなくしてるだけじゃないのか?



517 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 16:40:33 ]
Javaは全部ポインタなのさ。

518 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 19:44:39 ]
プリミティブ型はポインタがない。
かつ、オブジェクトでも明示的なアドレス演算ができないという意味では
ポインタとしては不完全。

519 名前:デフォルトの名無しさん [2007/11/27(火) 21:33:49 ]
ぷ・・・ぷれみあむがた?

520 名前:デフォルトの名無しさん mailto:sage [2007/11/27(火) 21:37:37 ]
アドレス演算なんかあってもしょーがない

521 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 00:47:47 ]
しょうがないというかJavaにはその概念がないんだからできなくて当然だ。

522 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 01:33:43 ]
できないからやれないのとできるけどやらないのとの間には越えられない壁がある

523 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 01:39:01 ]
できないけどやるやつが始末悪い

524 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 07:01:35 ]
言語仕様上可能だからってやるやつも始末悪い

525 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 08:10:57 ]
Cでは明示的なアドレス演算がないとプログラムが書けないだけのこと。

526 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 12:49:27 ]
Cを10年やってきた俺が断言しよう。
ポインタのないC#が理想系にもっとも近い。
C++のように氾濫するライブラリを使いこなすためにキャストの嵐もないし。



527 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 13:05:36 ]
俺もそう思うー

528 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 13:10:45 ]
C++を10年やってから言ってください^^

529 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 13:12:10 ]
aho

530 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 14:18:08 ]
C++も2〜3年はやってるがこんな扱いづらい言語はないよ。
自分で一から作るならいいけど、実際の現場じゃ色んな人が触ったソースも
見なきゃならないわけで、当然のように色んなライブラリが使われてる。
次から次へと覚えることが多すぎてヘボな俺の頭はついてけないぜ。

あとC++は文字列だけを見てもCString、std::string、System::String*、TCHAR*、WCHAR*、
CAtlString、BSTR、CComBSTRなどなど。おぞましいほど多様な形態がある。

C#だと、ほぼstring型で統一されてるだがなぁ。

C++は使い古されてもうカオス状態。言語としては何でもできる良い言語だけど
俺はもう嫌だ。ボスケテー

531 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 18:54:21 ]
>>おぞましいほど多様な形態がある。
それはC++のせいではない。
そこの区別がつかないようでは(略

532 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:00:49 ]
CLI(笑)


533 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 20:26:42 ]
C++は

534 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 20:38:54 ]
その中でC++の文字列型と言えるのはstd::stringだけじゃねぇ?

535 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 20:56:17 ]
まぁ C++ は歴史も引きずってて自由でやり放題だからな…
自分でさらっと書くのには Java とかより楽で好きだけど、
他人のコードには手を入れたくないな。

536 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 21:32:12 ]
おまえのも他人からそう思われてるよ

自分のが一番綺麗だと思ってるうちはまだまだ未熟





537 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 22:04:30 ]
そういうカオス領域の扱いに長けているのがC++だと思っている。

538 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 22:28:55 ]
>>536
別にきれいだと思っているとは書いていないよ。勉強して努力はしているが。
できるだけ自分で責任を持って直したいと思ってる。

539 名前:デフォルトの名無しさん [2007/11/29(木) 22:36:54 ]
ポインタと関係ないですが

540 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 01:39:03 ]
趣味でオナニープログラムして楽しむならC++だな。
仕事では、使いたくねぇ

541 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 02:52:10 ]
>>539
ポインタを語るスレではないからな
そもそも学びたい奴がいないならこのスレいらんだろ
ポインタがわからんやつとかいないじゃん

542 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 13:07:43 ]
ポインタをどうやって学ぼうかってスレなんだから
ポインタわかんない人も来るだろw

543 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 17:01:39 ]
ポインタ勉強中でなんとなく面白くなってきた

関数は常に値渡し
参照渡しでも結局はアドレスと言う値を渡してるに過ぎない
って認識であってる?

544 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 17:06:45 ]
うん

545 名前:デフォルトの名無しさん [2007/11/30(金) 19:29:27 ]
C言語は値渡ししかできない、でいいんですよね?

546 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:34:13 ]
今更Cやポインタなんて勉強してるやつはバカだろw

言語なんて勉強する意味がない。
コーダーは中国から買ってくれば良い



547 名前:デフォルトの名無しさん [2007/11/30(金) 19:38:14 ]
そうして中国に追いつかれることに気付かない日本人。
私は自分のためにCやポインタを勉強する。

548 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:40:59 ]
お前がバカなんだっつの

549 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:41:40 ]
まともなコードが書けない奴が、まともな設計できるわけねえし

550 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:43:55 ]
他にも勉強する事が多くてなぁ・・・
まともなコードが描ける頃には髪の毛白くなってそうだよ

551 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:47:09 ]
コード書きは全てに優先するんだよ
無知か?おまえ

552 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:48:00 ]
なかなか粗悪な暇の潰し方だな

553 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 20:02:31 ]
職人みたいに低能頑固薄給視野0になりたければ
コード書けばいいと思うがなw

コーダーなんてインドから集めてくればいい

554 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 20:04:25 ]
コーダ以外コード書く必要ないと思ってる化石か

555 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 20:05:04 ]
マ板でどうぞ

556 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:20:07 ]
GoogleやMSの社員もコード書いている件について



557 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:41:59 ]
マネージャクラスでもな

558 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:43:34 ]
それが普通

559 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:47:34 ]
じゃあなんで日本のマネージャクラスはコード書かないのが多いの?
なんで日本の文化ではコード書きは底辺がすることって信じられてるの?

560 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:52:06 ]
typedef void* NULL;

#define NULL 0

561 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:58:37 ]
>>559
それが一番妥当かつ効率性が高いとう結果
なんだよ。結局コードなんて書いても成果を
出しましたって小細工しているにすぎないからな

562 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 22:01:24 ]
日本語で

563 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 22:07:28 ]
>>556-558
書くモノしか見てないけど Google とか技術部いい感じだよね。
Norvig さんとか。

564 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 22:23:07 ]
いい感じじゃねーだろ

565 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 22:39:04 ]
英語身に着けて外国でもなんでもいけばいい。
コードも書けない奴の言うことなんて誰もきかない。

566 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 22:49:30 ]
視野が狭すぎてすげーなw



567 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 23:08:53 ]
昔と比べてコードの抽象度が高いから、自然言語を使う必要性が減ったってことでしょ
コーダにコーディングをアウトソースするときに、インプットとして「コード」が必要になったってこと
昔と大して変わってない

568 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 23:25:48 ]
今日帰りにインド人がやってるカレー屋に行ったんだけど、
カレー注文したらスプーンがついてこなくて
「あ、本格的な店なんだ」とか思って手で食ってたら、
半分くらい食ったときに、インド人の店員が奥から
すげー申し訳なさそうな顔してスプーン持ってきた

569 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 23:34:53 ]
>>568
おもしろいコピペがあったら貼るスレinマ板part4
pc11.2ch.net/test/read.cgi/prog/1194955716/l50

570 名前:デフォルトの名無しさん [2007/12/04(火) 15:03:58 ]
>>128

571 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 17:44:08 ]
>>128
が改悪したようにしか見えない件についてw

572 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 21:58:52 ]
うおおぉぉ!
Javaばかりでプログラム組んでいてC++にに戻ってきたらメモリ管理だるすぎて泣きそうだw
Javaはメモリ管理が楽だからいいよな
よくC#、Javaはポインタがなくて良いとか言う奴いるけど、これらの言語の利点はメモリ管理の楽さだろと突っ込みたいぜw
それにC#、Javaはむしろポインタの固まりだしな

C++のメモリ管理の経験があると、ガーベジコレクション等に負担をかけず高速なプログラムを組めることが身に染みてわかったぜ、自動解放だからってテキトーに組むとメモリリークは発生しないにしろ遅いなw
結論、C++のようなメモリ周りがシビアな言語をやる価値は今でも十分すぎるほどあると

573 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 22:40:35 ]
C++ならスマートポインタ使えばいいのに

574 名前:デフォルトの名無しさん mailto:sage [2007/12/10(月) 22:52:08 ]
違う違う。

C++ならスマートポインタ実装すればいいのに

575 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 07:28:30 ]
俺は、自分でメモリ管理しないと、不安でしょうがない。
JavaやC#だと、本当にリークしてないのか不安になってたまらない

576 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 13:56:30 ]
aho



577 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 15:47:48 ]
GUIでガベコレの遅延がはっきり感じられるとつらいね
元々もっさりなのに時々かくかくではストレスもたまる

578 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 16:24:29 ]
なんでそうなるコードを書くの?

579 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 17:21:57 ]
リソース管理が自動化されてる言語しかやったことがない、とか

580 名前:デフォルトの名無しさん [2007/12/13(木) 16:16:38 ]
int array[10];
で&arrayってvoid*?

581 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:52:14 ]
int**

582 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 17:04:52 ]
自己レス
int (*)[10]か。

>>581
あれ?それでもいいの?
試してみます

583 名前:デフォルトの名無しさん [2007/12/13(木) 17:13:53 ]
配列のポインタと、ポインタのポインタを間違えるな

584 名前:582 mailto:sage [2007/12/13(木) 17:24:09 ]
int**はダメだた・・・

585 名前:デフォルトの名無しさん [2007/12/13(木) 17:32:46 ]
>>572
俺にはC++のメモリ管理がだるいと感じるお前が理解できない

new したらdeleteすればいいだけじゃん

なにがだるいんだか・・・



586 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 17:36:05 ]
それがだるい。



587 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 18:31:19 ]
>>585
C++のメモリ管理ってスマポンタだろ

588 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 18:33:31 ]
>>580
配列名だけで先頭要素のアドレスになる。
ただし、それは変数じゃないので&を付けても無駄。

int array[10];

printf("%p¥n", array);
printf("%p¥n", &array);

で試してごらん。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<171KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef