ポインタはどうやって学ぶべきか part2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/07/27(日) 17:28:11前スレへのポインタ *ponta.p =
http://pc11.2ch.net/test/read.cgi/tech/1193166476/
0002デフォルトの名無しさん
2008/07/27(日) 17:29:39ポインタ死ねよ。
http://pc11.2ch.net/test/read.cgi/tech/1171172537/
ポインタを難しいと言う奴が理解できない
http://pc11.2ch.net/test/read.cgi/tech/1217123234/
0003デフォルトの名無しさん
2008/07/27(日) 17:30:06構造体とポインタの絡みくらいは理解しておく必要がある。
これを理解しておかないとWindowsプログラミングの入門書すら読めない。
しかし今は良書が揃っているので馬鹿でなければ2〜3週間で習得できるだろう。
「C言語 ポインタ完全制覇」
(言わずと知れたポインタのバイブル。これを読めば99.9%の人はポインタが得意になる。Amazonでも2chでも類を見ない程の高評価。)
http://www.amazon.co.jp/review/product/4774111422/
「C言語ポインタが理解できない理由」
(人によって好き嫌いがあるが、気軽に読める)
http://www.amazon.co.jp/review/product/4774114316
他
0004デフォルトの名無しさん
2008/07/27(日) 17:31:44/´ ̄`ヽ /: : : \_____/: : : : ヽ、
,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : }
/: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : /
,. -──「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/
/: :.,.-ァ: : : |: : : : : : : : : :\: : : : :: : : :ヽ \ /: : : :/
 ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i / /: : : : :/
/: : ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/ /: : : : :/ 、
. /: : / . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : | /: : : : :/ |\
/: : ィ: : : : :.i: : | \!___/ ヽ:: : : : : : :\|:.:.:.:/:! ,': : : : / |: : \
/ / !: : : : :.ト‐|- ヽ \: : : : : l::::__:' :/ i: : : : :{ |: : : :.ヽ
l/ |: : :!: : .l: :| \: : : l´r. Y {: : : : :丶_______.ノ: : : : : :}
l: : :l: : :ト、| 、___,ィ ヽ: :| ゝ ノ '.: : : : : : : : : : : : : : : : : : : : : : /
|: : :ト、: |: :ヽ ___,彡 ´ ̄´ ヽl-‐' \: : : : : : : : : : : : : : : : : : イ
!: :从ヽ!ヽ.ハ=≠' , ///// ///u /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
V ヽ| }/// r‐'⌒ヽ イ〉、
ヽ、______ー‐‐' ィ´ /:/:7rt‐---、 こ、これは>>1乙じゃなくて
ィ幵ノ ./:/:./:.! !: : : : :!`ヽ ポニーテールなんだから
r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\ 変な勘違いしないでよね!
/: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\
0005デフォルトの名無しさん
2008/07/27(日) 17:31:52そんな使い方してるから分かんなくなるんだぜ。
ポインタと言うのはあくまでも同一CPU内でのデータの位置を示す物なんだから
ネットワーク越しにポインタなんて使ったら、ひどい事になるだろ。
0006デフォルトの名無しさん
2008/07/27(日) 17:33:57http://school7.2ch.net/test/read.cgi/lic/1214315947/
1 名前:名無し検定1級さん 投稿日:2008/06/24(火) 22:59:07
○前スレのポインタ
ソフトウェア開発技術者試験Part123
http://school7.2ch.net/test/read.cgi/lic/1213586929/
0007デフォルトの名無しさん
2008/07/27(日) 17:34:43お前らはホントに馬鹿だな
0008デフォルトの名無しさん
2008/07/27(日) 17:40:07;ミ~ \
:ミ |
ミ -= =-|
rミ <・> <・>| こ、これは>>1乙じゃなくて
{6〈 | 〉 髪の毛をどげんかせんといかんだけなんだから
ヾ| `┬ ^┘イ| 変な勘違いしないでよね!
. \ | -==-|/
/|\_/
0009デフォルトの名無しさん
2008/07/27(日) 17:40:22/ \
/ ▲ ▲ヽ
| ● | < こ、これは乙じゃなくて
| ▲ | 放射能漏れなんだからねっ
.| |
| |
l l
`'ー--‐´
0010デフォルトの名無しさん
2008/07/27(日) 17:42:05/ / ,'
,.' , / /
.:: ,' / /
', / i / /
ヽ / l/ /
` ー- イ / /
', / /
i / ,.イ
, イ / , ' ヽ
/ l / i ` 、
,. ' l / ,' 、 \
, -‐'´ ,.ィ / ノ ', ヽ
/ , -'´ ,' // / i ',
〈 プ ノ ' ´ / / / 〃 ,ィ / ! i
`ー ' / 〈 / // / l / ,' l
/ ー' 〈ノ Lノ ノ !
/ -‐ '´ヽ ノ
/ / イ
0011デフォルトの名無しさん
2008/07/27(日) 17:42:40,' ::::::::::::::::::: ::::::::: l lヽ i l:. :. ',
.::::::::::::::::: :::::::;;、、、、ト フ"''''ト 、 / /::.:: l
. :::::::::::::::: ,,r:''" /l / l / ,,ニ-l /ノ :::: l
:: .:::::::::::::: /.::: ,,、、,'/ l. ///'''ヽ,`l /ノ'l , ::: l
::::::::::::::::: .:: ,r'"rニ"''`, l , '/ ,' `、i:::','"i-‐ l. l .:: / >>1
i :::::::::::::: ,,,i'゙ ,'_ ヾlli;:::l _ノ_,、- '' ト 、,,ll::::l l-- l / ::: / おつ
', :::::::::: / l! .l::::`illlll::::} ヾ:::。:::/ ! ノ/ /
::'、 ::::::: /ー! ヾ:::::::::::::l `ー゚ ,' /
::::'、 :::: / `ー-‐゚´ _, ィ .lr'、
:::::::;、、、、-、 、 `''' l. ̄ '、,,,>‐、
::::/ ___,ノ、 ,,,` ー--‐ :i! .`;、,,,, `'、
,r' i`ヽ;;;;;'-/ `"") ,'/`〉- .l
''{ヽ/ / { 丿"´ ./ l { l
', 〉' / l .',':、 ''" _,/‐''""'' }`'‐、
:l / ノ l }、:'------ 、 ,r'''" ノ:':、 ヽ
0012デフォルトの名無しさん
2008/07/27(日) 17:43:22,. '´: : : : : : : : : : : : : :`:<: : : `ヽ、_` 、__
,. -一'´: : : : : : : : : : : : : : : : : : ヽ: : : : :.ヽ ̄
,. '´: . : : : : : i: : : : : : : : :ヽ. :',: : :.丶: : : : :.\
,. '´ ,' イ:.∧:.ヽ: : : : : : :.',: : : . .:',=-: :}:::: : :|: : : ヽ
_,. '´-‐'7 . . : : : : :/|:.l ヽ: :l\‐- 、: :.',: : : : :.!: : :.`、::: :lミ、: :.}/^i
.  ̄ /: : : : :i: : : : l, |:.| \! \: : : : ',: : : : .!: :.〃}::: :l }: :/ イ
/: : :./: :!: : :./| l:| ヽ \: : :.',: : :l:.|: ://:|::::/ノ‐'´ノ/
/: : /{: : |: : : : | l:l r勿示ミ、',: :.!:.|彡':::!:/´ ィ_
l: :/ !: : l: :.l: :.lxィキ !::fr..:ト、!: ト.:ト、::::从 ,. ' ´ `i
|/ |: : :!: ヽ.:{ 代..ヽ 代.じ:| |: l´ヘ Y ノ'´ |
|: : : ',: :.ト〈{:::じi| 辷ソ !/ }} ノ / l._ 私じゃ>>1乙って出来ないみたい
l: : : ∧:.い弋ソ . xxx ,.ァ ' { }
l: : / ヾヽ}xxx __,. ∠、 l l
!: :l ヽ、.__ ,. ィ〃: : y'⌒ヽ、! |
ヽ{ ,.`「¨刀´ /: : / >、 l
ノ ノ: : :l /: / ,. '´ .::rヽ、 ヽ
/ ヽ: : :.l // / ,.. | }
{ \:| // ,. '´ / ! |
/\ Y/ イ / ノ
0013デフォルトの名無しさん
2008/07/27(日) 17:53:370014デフォルトの名無しさん
2008/07/27(日) 17:53:52痛報しました
0015デフォルトの名無しさん
2008/07/27(日) 18:01:53標高1000�b
■基本情報山
標高2000�b
■富士ポンタヶ岳
標高3776�b
■ソフトウェア連峰
標高4000�b
■アプリケーション山脈
標高6000�b
■システムエベレスト
標高7000�b
※三角点未設置
0016デフォルトの名無しさん
2008/07/27(日) 18:03:03標高00000�b
0017デフォルトの名無しさん
2008/07/27(日) 18:04:17http://www.geocities.jp/daigakuranking/index.html
Fa :朝日、中京学院、奈良産業、広島安芸女子、徳山、宮崎産業経営、帝京平成、駒沢女子北海道東海、東和、北海道文教、青森、弘前学院、仙台白百合女子、宮城学院女子、郡山女子、東京家政学院筑波
、駿河台、聖学院、敬愛、淑徳、和洋女子、相模女子、新潟国際情報、金城、岐阜聖徳学園、中部学院、静岡産業、中部、東海学園、平安女学院、大阪樟蔭女子、摂南、大手前、東北女子、東北生活文化、共愛学園前橋国際
、十文字学園女子、松蔭女子、金沢学院、東海女子、大谷女子、相愛、呉、四国、帝塚山、美作女子、九州ルーテル学院、尚絅
F :プール学院、東北文化学園、九州共立、高松、四国学院、苫小牧駒沢、桜花学園、倉敷芸術科学、くらしき作陽、比治山、いわき明星、奥羽、千葉商科、帝京平成、東洋学園、敬和学園、新潟産業、富士常葉
、愛知みずほ、常磐会学園、京都創成、英知、神戸山手、福岡国際、鹿児島国際
、鹿児島純心女子、稚内北星学園、東京純心女子、名古屋文理、鈴鹿国際、大阪国際女子、大阪明浄、沖縄、名桜、愛知文教、就実女子、志学館、高野山、宮崎国際、園田学園女子、山陽学園、上野学園
0018デフォルトの名無しさん
2008/07/27(日) 18:05:11∩___∩
/ ノ `──''ヽ 私はプール学院大学の・・・
/ / | ∩___∩
/ (・) | / ヽ
__| ヽ(_● | ● ● | うはwww低学歴Fラン乙www
\ |Д| | ( _●_) ミ
彡'-,,,,___ヽノ ,,-''"彡 |∪| __/`''--、
) |@ |ヽ/ ヽノ ̄ ヽ
| | ノ / ⊂) メ ヽ_,,,---
| .|@ | |_ノ ,へ / ヽ ヽノ ̄
| |_ / / | / | | ヽ_,,-''"
__|_ \\,,-'"\__/ / ,────''''''''''''''"""""""
~フ⌒ ̄ ̄ ~ヽ ヽ  ̄ ̄"""'''''''--、""''''---,,,,,,__
/  ̄''、|ノ )ヽ
___/  ̄ ̄) / |___
0019デフォルトの名無しさん
2008/07/27(日) 20:48:34> ポインタと言うのはあくまでも同一CPU内でのデータの位置を示す物なんだから
…
そういう説明が一番良いのかな。
multi CPU 機とかでその説明が本当に適切?
メモリ内のデータの位置ならまだ判るんだが…
0020デフォルトの名無しさん
2008/07/27(日) 21:07:13multiCPUとかでも普通に生ポインタは問題だよ。
アクセス違反とか当然発生するからな。
0021デフォルトの名無しさん
2008/07/27(日) 21:24:27問題なのはわかるが「あくまでも同一CPU内でのデータの位置を示す物」なの?
0022デフォルトの名無しさん
2008/07/27(日) 21:43:150023デフォルトの名無しさん
2008/07/27(日) 22:01:400024デフォルトの名無しさん
2008/07/27(日) 23:04:210025デフォルトの名無しさん
2008/07/27(日) 23:56:38ポインタを使うべきか、それでどんなメリットとデメリットがあるのか、
そういう体系を整理するのが先ではないだろうか。
理論を持たない実践は無謀。
ポインタ挫折歴20年継続中の俺が言うのだから間違いない。
手始めに誰か「典型的なポインタを使用すべきケース」を挙げてくれないか。
まとまってきたら俺らで本出して印税稼ごうぜ。
0026デフォルトの名無しさん
2008/07/28(月) 00:29:10そんな場合でもポインタ使うべきなん?
0027デフォルトの名無しさん
2008/07/28(月) 00:53:34C言語のポインタがそんなものをサポートする必要はないから
ポインタの定義に含めなくていいだろ
0028デフォルトの名無しさん
2008/07/28(月) 01:37:47ポインタを使うべきケースなんて無い。
C言語の特性上ポインタを使うと処理が早くなるといった類いの物しか無い。
だがそれすら最適化という呪文でどうにでもなる。
0029デフォルトの名無しさん
2008/07/28(月) 05:36:49> ポインタを使うべきケースなんて無い。
組込みの経験は無いようですなw
0030デフォルトの名無しさん
2008/07/28(月) 08:07:080031デフォルトの名無しさん
2008/07/28(月) 09:25:220032デフォルトの名無しさん
2008/07/28(月) 10:31:00>>31 みたいな実装もしないんだろう。
0033デフォルトの名無しさん
2008/07/28(月) 15:45:38そう言う事さ。
必ず代用出来る方法があるから、ポインタが本当に必要な局面なんて実は無いのさ。
もちろん、ポインタという構造自体は隠蔽されるだけだけどね。
なんせアセンブラレベルまで落とせばポインタしか無いようなもんだからな。
0034デフォルトの名無しさん
2008/07/28(月) 15:51:060035デフォルトの名無しさん
2008/07/28(月) 15:58:52>ポインタという構造自体は
「ポインタ」は概念であり、かつC、PL/M、Pascal 等の限られた言語にしかない。
>アセンブラレベルまで落とせばポインタしか無い
ふつー、アドレス。
>>34
LinkedListで。
まあ内部的には参照だろうけど。
0036デフォルトの名無しさん
2008/07/28(月) 16:28:36読解力無いくせにレスすんなよきちがい。
>ポインタしか無いようなもんだからな
と言ってるんであって、同じ概念でアドレスを言ってみせたんだろ?
で、隠蔽されるはポインタで構成されるデータ構造だろうが、概念の話なんかしてねえよwww
概念は最初から登場してねえの前提だろwww
きもいから俺にレスすんなや
0037デフォルトの名無しさん
2008/07/28(月) 16:28:41を使うことがある。そうすれば API/仕様上ポインタ使わざる得ない場合が出てくる。
私はポインタは必要無いと思いますから使いません、では済まないよ。
0038デフォルトの名無しさん
2008/07/28(月) 16:32:43まるでC/C++が言語の全てみたいな暗黙の了解にされてる時点でポインタを理解するのは不可能だろ
0039デフォルトの名無しさん
2008/07/28(月) 16:45:300040デフォルトの名無しさん
2008/07/28(月) 16:54:09すまん、その崩壊した日本語ではこれ以上レスできない。
0041デフォルトの名無しさん
2008/07/28(月) 17:03:2132ビットアドレッシングなら、2バイトの大きさの変数になるのかな?
int* と long* が違う大きさのメモリを確保していると勘違いしている人多いよね。
0042デフォルトの名無しさん
2008/07/28(月) 18:15:58だからキモイからキチガイはレスすんなよ
0043デフォルトの名無しさん
2008/07/28(月) 18:35:06なかなか釣れませんね。
0044デフォルトの名無しさん
2008/07/28(月) 18:52:420045デフォルトの名無しさん
2008/07/28(月) 20:02:35だからといって別に間接参照ばっかじゃないし。
0046デフォルトの名無しさん
2008/07/29(火) 05:56:14そこでちょいと疑問なんだが、Javaでぬるぽが出るのは何故なの?Javaはポインタが不要だから?
0047デフォルトの名無しさん
2008/07/29(火) 06:47:26>>46
クラス名になんで「Pointer」という語を含むのかは知らんが
NullPointerExceptionの発生要因にポインタ云々はこれっぽっちも関係ない。
null変数を参照したってだけだ。
0048デフォルトの名無しさん
2008/07/29(火) 11:16:41cの欠点のいくつかは、開発された当時、現実的なコンパイル速度と実行速度を維持するために
あえて修正せずに仕様としたものだからな。
関数プロトタイプもそうだし、ポインタもそうだ。auto変数を初期化しないのも。
で、今学習する人に対して、ポインタが要るかどうかだが、
「ターゲットハードウェアがcしかサポートしていない」なら要るだろう。
cでポインタ無しでプログラムを書くのは効率が悪すぎる。
しかし、「C++&STLとか、javaが使える」なら学習する必要はないと思う。
0049デフォルトの名無しさん
2008/07/29(火) 11:38:190050デフォルトの名無しさん
2008/07/29(火) 11:40:010051デフォルトの名無しさん
2008/07/29(火) 11:47:19避けられない例とやらを挙げてくれよ。C++はcとは違って参照がある。STLを使えばstd::stringが使える。
ポインタを一切排除したプログラミングも可能だと思うけどね。
0052デフォルトの名無しさん
2008/07/29(火) 11:54:19取り敢えずこの辺。
http://pc11.2ch.net/test/read.cgi/tech/1217123234/57
2,3は参照で済むし1,4は>50だけど。
0053デフォルトの名無しさん
2008/07/29(火) 12:00:08そのクラスライブラリ群をポインタで扱う事は多々有る。
0054デフォルトの名無しさん
2008/07/29(火) 12:32:57>1. 配列を関数に渡す際にどうしても必要
std::vectorを参照で渡せばよい。
>2. 構造体を関数にコピーレスで渡したい際にどうしても必要
オブジェクトを参照で渡す。ついでにconstで渡せば壊されないで済む。
>3. 別関数内の変数の値を変更したい際にどうしても必要
変数を参照で渡す。
>4. メモリを動的に確保する際にどうしても必要
まあ、強いて言えばこれかなあ。でもこれとて、たった1個のオブジェクトを確保するならnewが要るけれど、
消えものならautoでいいから、親に返すときとかにしか使わないよなあ。
複数個のオブジェクトならSTLコンテナを使えば動的に拡張できるから、「どうしても必要」な例がすぐに思いつかないな。
>5. 特殊なデータ構造を実現する際にどうしても必要
これじゃ説明になってないよママン
0055デフォルトの名無しさん
2008/07/29(火) 14:22:33次にMFCのような古臭いフレームワーク。
話逸れるが、そういうAPIを使えることもC++の利点だとは思うけど、
Javaやスクリプト言語のような高水準のライブラリがもっと標準でほしい。
0056デフォルトの名無しさん
2008/07/29(火) 14:40:07ある変数への参照をメンバに持ちたい場合、
その参照先を初期化時から変更しないのであれば参照で持てるが、
参照先を途中で変更したい場合はポインタにせざるをえない。
0057デフォルトの名無しさん
2008/07/29(火) 14:41:24実際には全ての配列を std::vector にするわけにもいかんので
std::vector への参照を引数に取る関数ばかりを使うこともできない。
0058デフォルトの名無しさん
2008/07/29(火) 14:51:08> Javaやスクリプト言語のような高水準のライブラリがもっと標準でほしい。
Java って C/C++ に比べて高水準なライブラリそんなに多かったっけ?
Java も使うけどむしろライブラリが少なくて C++ 選ぶ場合も
多いんだけど。
標準だけでは少ないかも知れないが、標準だけでカバーしようとは
しないというのが C からの方針。標準だけに限るとあまり意味ないのでは。
標準に限らなければ C/C++ は内容が高水準なライブラリが多い。
API とかはイマイチのものもあるかもしれんが、外見よりは内容が
重要だと思うよ。
0059デフォルトの名無しさん
2008/07/30(水) 12:31:32スレッドとかソケットとかはC++標準で欲しいよ。
標準だといろんな処理系で使える(可能性が上がる)。
そこが良ければBoostでもなんでもいいんだけどね。
0060デフォルトの名無しさん
2008/07/31(木) 04:13:00どうせ結局使えない環境では使えないだろうし。
0061デフォルトの名無しさん
2008/08/06(水) 21:15:48ネットを探せばライブラリは
ゴロゴロ転がってる
0062デフォルトの名無しさん
2008/10/26(日) 01:42:100063デフォルトの名無しさん
2008/10/26(日) 01:45:010064デフォルトの名無しさん
2008/10/26(日) 02:01:34高度な3Dゲームといえば
グランツーリスモのプログラマは(最低年収800だか1000だか)
C/C++/ASMでの募集だったな。
491 名前:名無し検定1級さん 投稿日:2008/10/26(日) 02:00:51
グランツー
http://www.polyphony.co.jp/
■ このスレッドは過去ログ倉庫に格納されています