- 1 名前:デフォルトの名無しさん [2010/06/30(水) 10:22:47 ]
- なぜポインタで引っかかる人が多いのか
引っかかる人は何に困惑しているのか
- 276 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 11:40:44 ]
- 確かにコーディング規約も命名規則もないところで、typedefは使ってほしくはないな
- 277 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 11:57:47 ]
- 個人的はtypedefを探すのにかかる時間次第かな。
2、3分くらいで見つかるようならtypedefして貰う方が読みやすい。
- 278 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 12:44:57 ]
- > typedefを探す
意味が分かんないんだけどどういうこと?
- 279 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 13:05:09 ]
- >>278
日本人ではないな? だからどう、ということもないが
- 280 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:04:04 ]
- >>278
ある定義名について、それをtypedefで宣言している文を探す、ということ
- 281 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:05:08 ]
- >>279
日本人だよ IDEなら言うまでもなく 非IDEでもタグファイルを作っておけば一瞬 最悪Grepしてもそんなに時間が掛かるものじゃない 探すという感覚が分からないんだよね 強いて言えば coする程ではないが少し気になるものを Webブラウザ上で眺めてるときかな? と思ったりもしたけどそれはtypedefに限った話ではないしなぁ
- 282 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:17:44 ]
- 元の定義読んで意図理解する必要があるのは変わらないからな
メモリ確保がごっそり独自になってる事なんて よくある事なんだけど 仕様読んで実装全部書き直して 移植したりとかめんどくせーから嫌いです
- 283 名前: ◆QZaw55cn4c mailto:sage [2010/07/08(木) 23:06:14 ]
- >>265
Cの文法のどの点が変なのかわからない。多分毒されすぎたんですね。 さしつかえなければ教えてください。
- 284 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:33:48 ]
- >>268
>だから無意味だっつってんの まあ、ポインタ自体の話をしたい人には無意味でしょうね。 >結局Cの宣言は読めないまま。 ああ、そういう意味なら確かに。あなたは正しい。でも、>>235の >あれ何とかならんかったんか この部分への1つの回答には なってますよね。 >>269 新規ルールではなく、既存のルールです。あなたは既に このルールを使ってます。なぜなら、232-235は日本語読みの 単なる簡略表記に過ぎないからです。 あなたが日本語の語順で関数ポインタなり何なりを捉えたとき、 それは232-235を使っているのと全く同じことです。 あと、英語読みとも親和性は高いですよ。 日本語読みの語順を逆順にしたのが英語読みですから。
- 285 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:37:28 ]
- アンカミス...
× 232-235 ○ 232-234 >>270 賞賛される必要はありませんが、無闇に否定されるのは おかしいです。なぜなら、232-234は日本語読みの単なる 簡略表記だからです。これを否定するのは>>229の説明方法を 否定するのと同じことですよ。 >>271 オナニーと言えるほど独りよがりな文法では無いでしょう。 intがN項の配列 a; 戻り値int,引数charの関数へのポインタ pfunc; このような日本語のベタ書きと全く同じ表現をしているのが232-234です。 こういう表現形式を無闇に否定するのは、>>229の説明方法を否定するのと 同じことですよ。
- 286 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:50:46 ]
- >>283
関数ポインタ周辺の宣言における表記の語順が、 自然言語の語順から かけ離れているところ。 日本語読みの語順と全然違うし、英語読みの語順とも全然違う。
- 287 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 01:36:19 ]
- 語順はどうでもいいけど
その定義の通るコンパイラ(またはプリコンパイラ)はもう実装出来てんの?
- 288 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 06:35:18 ]
- 反論かと思ったら同じこと繰り返すだけのキチガイか
- 289 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 07:19:55 ]
- 使用と宣言を一致させる、ってのはスルーなの?
- 290 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 10:31:20 ]
- ポインタがわからなくてこのスレ開いたが
もう嫌だ何これorz
- 291 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 12:50:36 ]
- このスレって何について話すスレなの?
- 292 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 13:44:36 ]
- >>281
IDEの機能や、grepを使うのは充分「探す」だろう
- 293 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 16:05:01 ]
- >>290
たとえば、どんな所がわからないの? 引っかかってるところを(それがどうして分からないのか)知る為に、色々教えてくれると思うが
- 294 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 18:23:46 ]
- >>149はいい線いってるね
最終的に型につくならよかった
- 295 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 18:39:53 ]
- >>292
後者はそうだね、自業自得だけど。 でも前者は違うな。 >>292 ↑というアンカーに対し292のレスを探すとは言わないでしょ? カーソル合わせりゃToolTipが表示される(IDE) ← 探すとは言わない クリックすればリンクに飛ぶ(tag) ← 探すとは言わない ページ内を検索する(Grep) ← 探すとは言うかもしれないけど自業自得
- 296 名前: ◆QZaw55cn4c mailto:sage [2010/07/09(金) 19:31:47 ]
- >>286
演算子の結合順位が頭に入っていないと、たしかに読みづらいかもしれません。
- 297 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 19:33:05 ]
- 覚えられなくてカッコを多用
- 298 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 19:50:24 ]
- >>294
int* p;は型についてるように見えるけど int *p;はそう見えない 後者はどう解釈したらいいん?
- 299 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 19:55:23 ]
- 型は宣言から識別子抜いたものだって教わりませんでした?
- 300 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:08:56 ]
- >>299
識別子抜いても意味合いは同じじゃない? (int*) int (*) 後者は型についてるように見えない
- 301 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:25:53 ]
- 「括弧内の宣言子は、括弧なしの宣言子と同一となるが、
複雑な宣言子の結合が括弧によって変更されることがある。」 演算子の結合順序を変えるような括弧じゃない限り 論じるのは無駄。何を言いたいのかさっぱり不明。
- 302 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:47:48 ]
- >>301
記号操作の話ならそれでいいけど、俺は意味論的な話をしてるんだが どうレスしたらいいものか
- 303 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:56:16 ]
- セマンティクスとも違う別の何かだろ。
ポインタの話ですらない。
- 304 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:01:15 ]
- 括弧の位置なら単なる文法論の話じゃないのかな。
意味論なんて言うなら、ますます括弧なんて重要じゃない。 要するにどうでもいいような文字の置き方に さも意味があるような話を意味論って言ってるんじゃないのかね。
- 305 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:24:51 ]
- ポインタより重大なのが、
#define N 1 という使用方法。 N かまわず置き換える。
- 306 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:26:55 ]
- 定数なら定数でいいし、文にまで使うのは分かりにくくなると思うけどな
- 307 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:30:21 ]
- >>305へのレスですか?
定数Nを #defineするのは、辞めた方が良いよ。 関数名や、変数名で大文字のNが含まれたら全替えする。 これにより、マクロを含めて#define全面禁止をモットーにした。
- 308 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:32:16 ]
- 本当の意味の定数でいったら、
constは変更不可能なだけで定数じゃない。 #defineが定数にあたるけど、別にどうだっていいよねー。
- 309 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:43:55 ]
- >>302
意味論てのが何か分からんけど、識別子を評価する方法も 型で表現しようとしてるから、*が右に寄るんじゃないか? 言葉遊びするなら、int *pは intへのポインタな変数p、ではなく、 *pとして評価すると(実体があれば?)intの値が得られる識別子p、 という解釈。 関数や配列の宣言も全てそう。 規格の文面なんて後付けだしな。 今テキトーに考えた。
- 310 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:47:39 ]
- >>308
C言語乙
- 311 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:52:45 ]
- >>307
あなたの日本語は間違いではありませんが、内容は嘘ですね。
- 312 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:53:45 ]
- >>298
型を明示する陽表式ではなく、 「この条件を満たす何らかの型」という 陰伏式で解釈したらどうでしょう。 >int *p;はそう見えない ・識別子はpである。 ・pの型は「演算子*による戻り値 *(p) の型がint型であるような、何らかの型」である。…(1) この解釈だと、*は直接的には型に付きません。 ただし、(1)を満たす型はまさに(int*)ですから、 結果的には(int*)型の変数を宣言していることになり、 *は間接的には型についてると言えます。
- 313 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 21:56:17 ]
- >>309が既に同じこと言ってましたorz
- 314 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:17:50 ]
- そんな話してたらまたあのキチガイが出てくるぞ
- 315 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:27:15 ]
- >>313
一緒にすんな
- 316 名前:302 mailto:sage [2010/07/09(金) 23:04:10 ]
- >>309,>>312
これだ!!!こんな解釈がほしかった やっと腑に落ちたわ、ありがとう 意味論ってのはあれだ、すまんかった 言葉のアヤってことでw
- 317 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:38:07 ]
- >>298
int a,b; a*b a * b a* b a *bすべて同じであるように int* c; int *c; ・・・も同じint * cになる みんなするどいね 例)int *a,b;は結合規則により(一度*が右結合して、型になる) (int ((*a),)b) → int (*a), b;→ int *aと(,)int b int *a→ int *(a)→(a)を評価するとint *が返り値つまり型となる
- 318 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 01:04:04 ]
- 昔のCではint *p;のみでint* p;はダメじゃなかったっけ?
- 319 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 01:28:20 ]
- >>128でも言われてるな
- 320 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 01:52:09 ]
- >>318
存じませんが、K&Rあたりでそう記述されてたからとかそのあたりでしょうか? >>319 ありがとうございます、笑われただけで禁止はされていないみたいですね wikiには方言もあったと書いてるので、これかもしれませんよ まぁ、寝ます
- 321 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:06:31 ]
- ひさびさの2ちゃんなんだけどそろそろ前橋ポインタ本を越える文章って出てきた?
- 322 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:14:20 ]
- で、そろそろポインタでひっかかるポイント分かったのか?
- 323 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:03:51 ]
- ・変数とメモリの関係がイメージ出来ない
・ポインタを絡めた宣言が理解出来ない(しづらい?) 今のところ出て来たポイントはこの辺?
- 324 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:22:57 ]
- >>323
よく挙げられる理由の典型例じゃん これじゃ他のポインタスレと変わらんなあ…
- 325 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:56:25 ]
- >>322はポインタとポイントを掛けたかっただけでは
- 326 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 18:24:49 ]
- >>
↑ これがポインタ
- 327 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:01:40 ]
- C言語のポインタがわかりやすい言語ってある?
- 328 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 19:06:38 ]
- アセンブラへの展開見れば一目瞭然。
- 329 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 21:36:43 ]
- 文法はそう記述したら、そうなるわけだから、詰まる要素ではないだろう
ポインタを知る為にメモリの状態とアドレスをPrintfとか使ってチマチマ やってた時、頭が沸騰しそうだったな 覚える為に、ここら辺の関係ない所で時間がかかり過ぎるのが問題じゃないかな
- 330 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 21:57:43 ]
- 俺はそんなところで時間かから無かったよ
- 331 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 22:05:30 ]
- 文法を理解しているというのなら、
ポインタの中身なんて理解する必要なっしんぐ。 C言語のプロトコルに従って書いてりゃどこでも動くコードのいっちょ上がり。 と言いたいところだが、そうもうまくいかないと思う。
- 332 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 22:15:05 ]
- TOEIC満点のやつは英語で嘘をつかない、なんて保証があると思う?
- 333 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 22:21:55 ]
- 誰か翻訳頼む
- 334 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 23:32:31 ]
- 指を見るな
月を見ろ
- 335 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 01:52:01 ]
- 文字列処理や勉強の時のscanf()で何度も不正な処理起こしたC言語初心者時代
普通の高級言語なら実行時エラー、エラーメッセージで分かる内容のところを いきなりOSからエラー返されたらビビるって
- 336 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 02:21:19 ]
- いや
エラーでりゃましなほうさ
- 337 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 10:28:09 ]
- ポインタ挫折歴3年の俺が来ましたよっと
char *s = "test"; なんでこういうことが出来るのかいまだに理解できない char s[] = "test"; とは違うの?
- 338 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 10:41:38 ]
- >>337
前者と後者は本質的に違う。 前者は読み取り専用領域に置かれた文字列へのポインタを保持している。 後者は【文字の配列】そのもの。 まず、C言語のFAQでも見ようか。 www.kouno.jp/home/c_faq/c6.html#0 www.kouno.jp/home/c_faq/c1.html#32
- 339 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 10:54:02 ]
- どのレベルで分からんのかが分からんなぁ。
ちょっと嘘を交えて言うと "test"は、プログラム開始時にOSが用意してくれる5バイトの 書き換え不可な配列として解釈される。 char *s = "test"; は、アドレスを指す4バイト変数sを作って OSが用意した"test"の先頭のアドレスを代入する。 char s[] = "test";は、OSが用意した"test"と同じサイズの(5バイト) 配列を作って、"test"の内容をコピーする。 違いは大体こんなもん。 どこが嘘かは、興味があるならまた別途。 何故そう書けるのか、と言われると、Cが文法として、 そういう機能を持ってるから、としかよう言わんなぁ。
- 340 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:12:20 ]
- int main(int ac, char **av)
{ char *a = "test"; char *b = "test"; char c[] = "test"; char d[] = "test"; printf("%d", a == b); printf("%d", c == d); printf("%d", a == c); return 0; }
- 341 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:37:13 ]
- 俺の彼女をボインだ!って言われるようにするにはどうすればいいですか?
- 342 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:11:05 ]
- >>337
前者 _s: dc.l __lbl __lbl: dc.b 'test', 0 後者 _s: dc.b 'test', 0
- 343 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:11:56 ]
- 引っかかりそうな所には近づかない・逃げるという方法もあるな。
scanfとか初期化式とかは、ポインタと少しは関係あるが、 関係ない部分で引っかかってる感じもする。 あまり関係ない所に全力でぶつかったり、教える側も全力で教えようとしていたら それは学習コストは高くつくに決まっている。 自ら望んで全力で引っかかるのは構わないが、 「なぜ引っかかることを望んだのか」を他人に問い詰めるのは迷惑だ。
- 344 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:26:25 ]
- >>341
まず童貞を捨てる。
- 345 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:55:12 ]
- char *s="test";
sprintf(s,"Hello world"); 正常に動くようですがこのまま使って大丈夫でしょうか?
- 346 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:57:49 ]
- はいはい、ネタは自分の頭の中でやってくれ
それが嫌なら窓を捨ててペンギン村にようこそ
- 347 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 13:00:39 ]
- >>345
だめです。 というより char *s = "test"; という使い方はほとんどしないから忘れてもいいかと。
- 348 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 13:07:40 ]
- const char *s = "fuck me please!!"
ならいいよ
- 349 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 13:39:11 ]
- そこはfackだろ
- 350 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 14:12:44 ]
- >>345
char *s="test"; *s="Hello world"; でいいじゃん
- 351 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 15:00:55 ]
- s="Hello world";
- 352 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 15:11:27 ]
- 配列は関数に渡すとポインタに変換される
ポインタはprintfされるとアドレスに変換される 暗黙に二度の変換を受けるという理不尽な仕様
- 353 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 15:24:41 ]
- おいおい。
全て間違ってる。
- 354 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:13:29 ]
- #include <stdio.h>
int main(int ac, char **av) { char *a = "test"; char *b = "test"; char c[] = "test"; char d[] = "test"; printf("%d\n", a == b); printf("%d\n", c == d); printf("%d\n", a == c); c[0] = 'C'; printf("%s\n", c); try{ a[0] = 'A'; printf("%s\n", a); }catch(...){ printf("catch\n"); } return 0; } どうしたら Segmentation fault を出さないように出来ますか?
- 355 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:16:22 ]
- cでtrycatchとかありえない
- 356 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:19:02 ]
- ポインタは変数のある場所を指している(キリッ)って説明がわかりにくい
「指してる」ってなんだ?と思ってた はじめにscanfや関数の引数としての使い方から説明するから単体での理解がしにくい アドレスを格納する変数ならそう言って欲しい。分かりやすくしようとしてわかりにくくなってるよたぶん あと変数宣言の説明を軽くスルーしたり、ポインタをポインタ型とかint*型とか言わないのも問題な気がする ポインタだけ特別枠の別物みたいにみえる プログラミング習いたての人との共通認識を探ろうとしないのも分かりにくさに拍車をかけてる 難しいんだよー、だから分からなくても仕方ないんだよー、俺のせいじゃないよーってか 分からせる気ないだろうと
- 357 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:41:32 ]
- 英語で言えば
ある場所を指している=ポインタ だからな ポインタは変数のポインタ(キリッ) じゃ判らん罠
- 358 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:50:14 ]
- 再帰的定義だよ
- 359 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:51:40 ]
- ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
ポインタ (pointer)とは、あるオブジェクトがなんらかの論理的位置情報でアクセスできるとき、 その位置を表現する変数の事をいう。有名な例としてはC/C++でのメモリアドレスを表すポインタが挙げられる。 なるほどなるほど〜
- 360 名前:359 mailto:sage [2010/07/11(日) 17:00:11 ]
- >>359
変数って書いてあるけど、値のことだよね。 ポインタとは、オブジェクト(≒変数)の位置を表現する値を指す。 C/C++ではメモリアドレスを使用するのが一般的。 ポインタに対して演算を行うことにより、オブジェクトを取得したり、 またオブジェクトに隣接する位置のオブジェクトのポインタを 取得することができる。 ああ、こう書いちゃうと分からないんだよなあ。 やっぱ箱のポンチ絵無しには説明は無理だわ。 で、更に変数宣言がどういうものなのか書こうとすると rationaleとか持ってこないと荷が重い。
- 361 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:02:11 ]
- だからアセンブラに落とせば一発だっつーのに
- 362 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:03:07 ]
- アセンブラにCみたいな複合型ねーだろ。
- 363 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:03:12 ]
- ワロタw
結構いるよね、ほのめかしはするけど実は答え知らない自称上級者
- 364 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:04:01 ]
- >>362
ある夜
- 365 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:05:31 ]
- >>364
値の出し入れ以外に まともな文明の利器があったなんて知りませんでした。 もちろん人が解釈するものじゃないよね? きちんと文法なんだよね?
- 366 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:35:29 ]
- ポインタはクイックソートをする為だけにある。
それ以外の用途では不要。
- 367 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:38:49 ]
- >>366
おまえ楽な仕事なんだな
- 368 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:43:51 ]
- >>360
ポインタと言った場合、ポインタ型のことか、 ポインタ型の変数のこと。 値はアドレス
- 369 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 19:32:13 ]
- クラスメンバへのポインタで質問です
class Inner{ pubilc: void hogehoge(); int fugafuga; }; class Base{ public: Inner *in; void hoge(); int fuga; }; Base b;としたとき b.hoge は &Base::hoge b.fuga は &Base::fuga b.in は &Base::in でいけると思うのですが b.in->hogehoge b.in->fugafuga 相当のアドレスを得るにはどうしたらいいのでしょうか?
- 370 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:22:12 ]
- C++ちゃんと知らんけど
「いけると思うのですが」の時点で いけてないことないか?
- 371 名前:デフォルトの名無しさん mailto:sage [2010/07/11(日) 23:57:30 ]
- 普通に&Inner::hogehogeじゃダメなの?
- 372 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:13:22 ]
- でいけると思うのですが
- 373 名前:デフォルトの名無しさん [2010/07/17(土) 08:34:26 ]
- ぬるぽ
- 374 名前:デフォルトの名無しさん mailto:sage [2010/07/17(土) 11:21:28 ]
- ポインタはすんなり理解できたけど「逆参照」だけはずっと意味不明だった。
なんだよこの訳語は。
- 375 名前:デフォルトの名無しさん mailto:sage [2010/07/17(土) 11:57:59 ]
- デリファレンスでいいだろ
- 376 名前:デフォルトの名無しさん mailto:sage [2010/07/17(土) 12:28:15 ]
- 俺なら訪問と訳して全国のポインタ脱落組を3000人くらい救っていたな。
|

|