- 1 名前:デフォルトの名無しさん [2013/04/22(月) 04:47:19.70 ]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 113 toro.2ch.net/test/read.cgi/tech/1362824689/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 164代目 toro.2ch.net/test/read.cgi/tech/1364700745/ ★C++言語については避けてください。C++対応明記スレへどうぞ。 ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。 # サイズが大きい場合はアップローダ等を利用してください。 codepad.org/ ideone.com/ ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
- 231 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 02:04:05.88 ]
- >>228
問題のコードではmsgがNULLポインタだったらリターンしてしまうから 2行目が実行されることはあり得ない。
- 232 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 02:44:38.79 ]
- >>231
msgがchar配列、ポインタが32bitの場合で、msg[0]==0でmsg[1]〜[3]のどれかに0以外が入ってるなら2行目行くんじゃね
- 233 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 07:59:37.32 ]
- >>231
その問題のコードの1行目が要らなくねってレスがあったから説明したんよ
- 234 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 12:47:06.15 ]
- >>225-226
ヒープ使っちゃいけなかったのか。 覚えとく、ありがとう
- 235 名前:デフォルトの名無しさん mailto:sage [2013/04/29(月) 20:52:06.60 ]
- >>234
ばっかみたいw
- 236 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 08:37:47.67 ]
- 組み込みってもOSレスからLinuxみたいなものまであるわけで
- 237 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 20:06:32.53 ]
- 死ねゴミw
- 238 名前:デフォルトの名無しさん mailto:sage [2013/04/30(火) 21:00:28.73 ]
- >>236
いきなりわけわかんないレスをするな
- 239 名前:デフォルトの名無しさん [2013/05/01(水) 03:30:10.77 ]
- うるさいゴミ
- 240 名前:デフォルトの名無しさん [2013/05/01(水) 13:09:29.46 ]
- a=f(x)+g(y);
これって、f(x)とg(y)のどっちが先に実行されるかって 仕様で決まってたっけ? それとも不定?
- 241 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 13:18:02.56 ]
- 不定です
- 242 名前:デフォルトの名無しさん [2013/05/01(水) 14:53:33.39 ]
- >>240は馬鹿だから間に受けるぞw
- 243 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 14:54:27.12 ]
- 現在このスレは閑散としてるがQZがいつ自演質問を再開させるか分からない状態
ここ最近このスレで不正に宿題と思わしき質問が投下されたので注意が必要 監視を続ける
- 244 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 14:58:04.04 ]
- >>240 >>241
にはこのコピペが最適↓ ネットでののQ&A見たら、何も勉強してこなかった 日本人の絶望的なほど劣悪なレベルを見せ付けられる想いだ。 質問者の意図も理解できないし、理解する姿勢に欠ける。 自分で確かめもしないで、思いつきで断片だけを回答する。 質問者も自分で解決したら、なにも示さず解決したという コメントで終了する。 甘やかされて低脳さを遺憾なく発揮している。もう理系も絶望 的だから文系はどうかと思へば、悲惨のひとことだ。 もう日本の大学を折りたためよ文部省。 こういう自分でプログラミング言語を開発する極一部の有能な若者が、 浮いてただ利用されるだけで本当に気の毒だね。
- 245 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 15:30:02.88 ]
- C言語でレジストリのeipやebp等の動きを表示したいのですが
どうやってみればいいでしょう? gcc -S test.cだとアセンブラソースが作られてみれるんですがソースだけで肝心のトレース部分をみることができません eipやebpやスタックの動きを見れるやり方教えてください Windows7です
- 246 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 15:36:57.37 ]
- >>245
>教えてください 情報に見あった金額が提示されてないのに誰が答えるの?
- 247 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 15:52:40.25 ]
- >>245
Eclipse CDT入れろ デバッガで見れる >>246 カス
- 248 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2013/05/01(水) 15:53:37.24 ]
- インラインアセンブラを使うのが簡単かなぁ。
インラインアセンブラで書いても gcc は最適化しちゃうんで、 最適化をオフにするか volatile 指定を付けるのが楽。 プログラム的に必要っていうのではなく、挙動を観察したいという場合ならデバッガを使った方がいいと思う。 gcc と連携しやすいデバッガと言えば gdb だけど Windows なら OllyDBG か Immunity Debugger が人気。
- 249 名前:245 mailto:sage [2013/05/01(水) 16:07:48.38 ]
- >>247
わざわざElipseなんていらねーよバカが死ね >>248 やっぱりgdbですか インラインアセンブラはダサいのでデバッガのほうにしてみます
- 250 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 16:09:44.62 ]
- >C言語でレジストリのeipやebp等の動きを表示したいのですが
レジスタ と読んでの前提 まさかデバッガを作りたい って話じゃないよな?
- 251 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 16:14:41.28 ]
- >>247=基地害
- 252 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 16:34:30.42 ]
- QZ急速な勢いで自演レス
- 253 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 17:28:19.21 ]
- >>247が馬鹿の見本みたいで笑えるw
いや、馬鹿すぎて笑えないレベル
- 254 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 18:50:20.97 ]
- 結局入門書どれがいいんでつか?
高いから数買えないんです。・°°・(>_<)・°°・。
- 255 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:00:49.86 ]
- eipとebpを見たんですが
leaveっていう命令でてこずってます leaveって mov esp,ebp pop ebp これと等価らしいんですが gdbでトレースしてleaveをsiで実行してespを見たけどebpの値になりません ebp=0xbffff4e8 esp=0xbffff4b8 leaveをやったら espはebpの0xbffff4e8になるはずですが espは0xbffff4ecになります 何故ですか?教えてください
- 256 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:14:02.44 ]
- enter/leaveなんて誰も使わないから忘れてよろしい
遅いだけ
- 257 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:16:31.23 ]
- popしてるからだろ
- 258 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:17:59.00 ]
- >>257
popする前に代入してますよね?バカ?
- 259 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:21:15.43 ]
- 中身の分からないバイナリファイルの中身を調べて型に合った変数に代入ことはできるのでしょうか?
- 260 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:23:40.28 ]
- >>258
だから、代入してからpopしてるから popでずれてんだろw
- 261 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 19:49:44.54 ]
- 変数に代入はできる
未知のフォーマットで書かれたものに対して 中身を調べて=バイナリの並びから 型に合ってるかどうかを知る術がない
- 262 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:25:49.04 ]
- >>241
ありがとう 不定であってたのね
- 263 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:30:09.06 ]
- sub関数 call時
esp=0xbffff4ec ebp=0xbffff508 コード push %ebp 実行時 esp=0xbffff4e8 ebp=0xbffff508 スタックに0xbffff508 mov %esp,%ebp 実行時 esp=0xbffff4e8 esp=0xbffff4e8 スタックに0xbffff508 sub $0x30,$esp 実行時 esp=0xbffff4b8 esp=0xbffff4e8 スタックに0xbffff508
- 264 名前:デフォルトの名無しさん [2013/05/01(水) 20:30:25.46 ]
- >>258
バカ
- 265 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:32:24.66 ]
- >>263
途中からebpが行方不明になってるぞ
- 266 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:38:27.45 ]
- >>627
3.5のパラグラフ3〜4と7.1.1のパラグラフ8を総合した結果だろうな 分かりづらいけど、例もあるし、少なくとも間違いはない
- 267 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:38:43.59 ]
- >>265右のはebpねミス
leave 実行時 esp=0xbffff4ec ebp=0xbffff508 leaveの命令 mov esp,ebp pop ebp ebpをespにやるんだから espは0xbffff4e8になるはず 代入してる popで最初にpushしておいたebpを取り出して ebpは0xbffff508であってるけど espがなんでcall時の0xbffff4ecになる?
- 268 名前:266 mailto:sage [2013/05/01(水) 20:40:29.43 ]
- 誤爆・・・
- 269 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:42:12.93 ]
- pushでespが動いてんのにpopで動かないと考えるこの馬鹿
- 270 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:43:29.12 ]
- >>267
popしたらスタックポインタが動くのは当たり前だろ popが何をするものか分かってるか? というかスレ違いだ
- 271 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:48:35.19 ]
- >>270
やっとわかった espがスタックの末尾にあってプッシュやポップにあわせて常に変化するってことをわすれてた だからpopしたときプッシュ前のアドレスになったわけね
- 272 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 20:50:25.84 ]
- スレ違いだバカが死ね
って言ってやるべきだろ
- 273 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:03:20.07 ]
- push %ebp
このpushされたebpアドレスはどこでみれんの? info fってやっても表示されないけど
- 274 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:04:22.71 ]
- ミス
このpushされたebpアドレスが保存されてるスタックって 縦長に見る方法ない? こんなふうに +++++++++++ ESP + 戻り値 + +++++++++++ + one + +++++++++++ + two + +++++++++++ + three + +++++++++++ EBP + 基底 + +++++++++++
- 275 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:17:43.80 ]
- いい加減アセンブラスレに行け!
- 276 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 22:22:57.85 ]
- C言語で聞いて
- 277 名前:デフォルトの名無しさん mailto:sage [2013/05/01(水) 23:35:55.72 ]
- i fでやったら
saved eip(戻り値アドレス)は表示されるけど push %ebpが表示されない プッシュされたものが表示できたら便利なのに表示できねーのか?クソだな
- 278 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 02:55:13.74 ]
- アセンブラスレで聞いたらこのドシロウトが!ってバカにされるだろ
ここでやってればCしか出来ない奴にスゲーって思わせられるからいいんだよ 俺はずっとここにいるぜ
- 279 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 04:09:08.75 ]
- なんか見覚えのある命令や数値が出てくるな
https://twitter.com/TreeBoa2/status/329628271329296385/photo/1
- 280 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 09:38:26.94 ]
- ほらやっぱ自演だったろ
- 281 名前:デフォルトの名無しさん [2013/05/02(木) 13:44:19.46 ]
- メモリ確保したポインタを解放した後NULLで初期化する関数myfreeを作りたいのですが、
以下のようにすると初期化されないので void *myfree(void *p) { free(p); p=NULL; return; } 仕方なく以下のようにNULLを返してますが、p = myfree(p)のようになり美しくありません もっとスマートな方法はないでしょうか? void *myfree(void *p) { free(p); return NULL; }
- 282 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:55:17.87 ]
- >>281
#include<stdio.h> #include<stdlib.h> void *myfree(void **p) { free(*p); *p = NULL; return NULL; } int main() { char *p = (char *) malloc(123); printf("%p\n", p); p = myfree((void **) &p); printf("%p\n", p); return 0; }
- 283 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:55:31.38 ]
- ポインタへのポインタを使う方法じゃだめなの?
void myfree(void** pp)
- 284 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:55:55.12 ]
- void myfree(void** p)
{ free(*p); *p = NULL; } 呼び出しで &付きになるからキショイ
- 285 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 13:58:33.76 ]
- >>282間違った。
#include<stdio.h> #include<stdlib.h> void myfree(void **p) { free(*p); *p = NULL; } int main() { char *p = (char *) malloc(123); printf("%p\n", p); myfree((void **) &p); printf("%p\n", p); return 0; } キショいね
- 286 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:04:25.21 ]
- マクロの
#define MY_FREE(p) do { free(p); p = NULL; } while (0) これも賛否ありそう
- 287 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:17:53.43 ]
- >>283
規格上はダメ、ゼッタイ voidポインタとそれ以外のポインタは互換性が保証されないので あー、でも、charポインタと構造体共用体ポインタは互換性があったっけ? まあ結局intポインタとかはだめだけど だから、Cならマクロにするしかない C++ならテンプレートにできるけど
- 288 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:33:07.57 ]
- マクロにしなくてもp=free(p),NULL;でいいじゃん?
- 289 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 14:37:51.26 ]
- >>288
>仕方なく以下のようにNULLを返してますが、p = myfree(p)のようになり美しくありません >もっとスマートな方法はないでしょうか? って話なので、その案は微妙な線?かな?
- 290 名前:281 mailto:sage [2013/05/02(木) 14:49:28.70 ]
- 皆さんどうもありがとうございます
&でポインタへのポインタを使う方法は、自分の環境ではコンパイルエラーになりました (エラーの正確な内容は失念しましたが、構造体のサイズが不確定というエラーだったような) 関数に渡す時に(void **) でキャストすればエラーが消えるのでしょうか。 しかし>>287さんによると規格上ダメとのことなのでやめておきます >>288さんの方法は初見でしたが、ポインタ名を二回記述するやり方はポインタ名が長い場合に不便なので1回にしたいのです マクロを使う方法が一番よさそうなので、試してみます どうもありがとうございます
- 291 名前:デフォルトの名無しさん [2013/05/02(木) 15:01:42.15 ]
- 「規格」ってタームが混ざってるだけで簡単に騙される>>290哀れwwwww
- 292 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:07:24.15 ]
- >>291
アホはだまっとけ www.kouno.jp/home/c_faq/c5/html#17
- 293 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:11:10.51 ]
- ミスった
www.kouno.jp/home/c_faq/c5.html#17
- 294 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:19:56.16 ]
- 投稿前に確認すらできないゴミが「アホはだまっとけ」だってよ
やっぱゴミはゴミだな
- 295 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:30:43.47 ]
- 何かを実行する前に問題がないかを確認するってのはプログラマなら当たり前の手順なわけだが、
それができていないってことはプログラミングやる資格はないよ。 そしてそんな奴が調子に乗って回答してる。 >>292-293はこのスレのレベルがいかに低いかを身をもって示してくれている。 それでもまだここで質問するのはまともじゃないよ。
- 296 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:31:44.23 ]
- そりゃ規格を一番に考えるだろう
- 297 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 15:42:30.38 ]
- >何かを実行する前に問題がないかを確認するってのはプログラマなら当たり前
マでなくとも人間なら普通おおかた>>292は池沼か社会経験のないニートか学生風情
- 298 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:16:54.81 ]
- 使い終わったポインタにNULLを入れるのって、ヘタクソの習慣だよな。
- 299 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:20:21.38 ]
- >>298
えっ
- 300 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:20:47.84 ]
- リンクを貼るのってコピペするだけでミスの入り込む余地なんてないと思うんだけど、
携帯とかからわざわざ手打ちで貼ってんの?
- 301 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:28:55.60 ]
- >>300
俺も思ったw 何をどうしたら間違えるんだろうなw
- 302 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:29:17.63 ]
- >>298
それ以前にいちいちfreeすること自体が、設計ができない証。
- 303 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:30:23.01 ]
- 規制で携帯から手打ちなんだよ
察しろ
- 304 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:34:15.61 ]
- >>302
いやいやfree()はするだろ。 free()のあとに機械的にNULLクリアするってスタイルはヘタクソ。
- 305 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:41:17.41 ]
- こういうのを真に受ける人がいると思っているのかね
言動からしてレベルの低さが窺えるからスルーしかされないだろうに
- 306 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:44:30.84 ]
- >>304
獲得したメモリをいちいち解放するなんて、 自分でメモリが管理できていない証拠じゃん。 設計ができていれば必要なメモリ量もわかるので 獲得した後解放するなんてありえない。
- 307 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:46:51.58 ]
- ちょっと何言ってるかわかんないです
- 308 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:51:26.18 ]
- がたがた言わずにmallocしちめえ!いらなくなったメモリはそのつどfreeだ!
- 309 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:53:40.79 ]
- >>303
やっぱりそうか ケータイから手打ちしてまで書き込みたいとか >>292は自己顕示欲の塊かよw
- 310 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:54:07.62 ]
- まっとうなプロダクツはじゃ、まず見ないスタイルだよね。
free()のあとにNULLクリアをするって規則のコーディング。
- 311 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:58:36.89 ]
- まあポインタを使い回す事自体があまり良くはないからな
でも、全うな製品ならそれでもNULLクリアするのが普通だけど
- 312 名前:デフォルトの名無しさん [2013/05/02(木) 17:01:44.36 ]
- うるさいゴミ
- 313 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:03:09.21 ]
- 「ヘタクソがいる現場だと有効だ」とか思われてるのかもしれないけど、
たぶん実際的な効果はなにも無いんじゃないのかね > NULLクリア
- 314 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:05:05.47 ]
- NULLクリアしてるまっとうな製品って、どれのことだろ。
- 315 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:09:05.01 ]
- 安全性への意識の高さの問題だよ
NULL埋めしない人は経験上他も大体いい加減
- 316 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:15:52.65 ]
- 世間的に安定性とか評価されてるプロダクツでもべつにNULLクリアなんてしてないしな。
- 317 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:16:27.83 ]
- 安全性への意識て、ミスを根本的になくすことよりミスったときに誤魔化すことを優先すること?
- 318 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:18:55.52 ]
- ポインタがNULLか非NULLかでフラグのような動作をさせるってのは
よくあるテクニックだよ。TLV式のプロトコル実装とか、当たり前のように 使ってるよね。
- 319 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:19:47.12 ]
- free()した直後にポインタ変数の寿命がくるなら
nullクリアなんていらないけど まだ使う気があるならnull入れておくかな なんかバグったときにassertにひっかかってくれる
- 320 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:19:49.18 ]
- NULLクリアを自動化しておけばバグが入った時の想定される原因の一つが消えるじゃん
- 321 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:20:59.00 ]
- >>317
ミスを根本的になくすことと同時に ミスったときにそれを確実に拾えること 可能なら対処する(ごまかす)のは別の話だね
- 322 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:22:15.95 ]
- >>318
そういう話じゃなくて、ルールで機械的に、処理とか文脈とか関係なしにNULLクリアしましょうってのが是か非かって話。
- 323 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:26:44.74 ]
- >>322
そんなの、その場の空気と宗教に従え、以上の答えあるの? 答えが分かったうえで議論の練習したい人とかfj.lang.cごっこしたい人は 別のスレでやってね。ぜんぜん入門編じゃないからね。
- 324 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:29:30.17 ]
- >>323
逃げたwww
- 325 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:37:47.56 ]
- >>322
是でいいと思うよ ふつうにうしろに処理足される可能性あるし なによりnull入れて困ることはないってのが でかい
- 326 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:41:27.29 ]
- free 時に 確保領域に書かれてる内容を適当にぶっこわしてくれる機構 がうれしい
ポインタを別変数にコピーしてたテヘッ 用だね
- 327 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:00:02.46 ]
- NULLクリアって定数左と同じようなテクニックに見える
- 328 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:02:04.79 ]
- >>327
それは頭悪いですね
- 329 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:10:30.05 ]
- NULLを入れない場合→破棄後に参照しても動く事がままある
NULLを入れる場合→参照するとほぼ死ぬ どちらがミスった時に誤魔化すことを優先しているかは一目瞭然 NULLを入れない方だ NULLを入れない人は想像力が貧困で、プログラムには向いていない
- 330 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:18:09.46 ]
- それ以前にfreeもしないって人は世界が違うんですか?
- 331 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 18:19:04.70 ]
- おそらく神の領域に達しているのだろう
|

|