- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:08 ]
- エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.40【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1184717430/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 321 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:00:14 ]
- どう見ても292の方が見苦しい言い訳。
バカなんだからバカにされたくらいでレス繰り返さなくてもいいのに
- 322 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:01:24 ]
- >>320
フィーリングで分かるなら空気くらい読めるだろ?
- 323 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:02:59 ]
- >>295はうまい荒らしだったな
- 324 名前:292 mailto:sage [2007/08/15(水) 10:03:36 ]
- あ、ずっと安価間違ってた
>>291さんでした
- 325 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:03:55 ]
- >>318
初心者に答えるわけがない なんてレスの無駄だから偉そうに宣言しなくてもいいよw 答えないんじゃなくて答えられないんだろ
- 326 名前:309 mailto:sage [2007/08/15(水) 10:16:16 ]
- 結局>>306の言ってる指摘ってのはコレな訳?
>それだったら*++pではない場合にもいえてしまうんじゃないの?
- 327 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:18:32 ]
- >>326
かもしれないけど、なにしろ何がどう「いえてしまう」のか まるでわからん文章だからなぁ。
- 328 名前:309 mailto:sage [2007/08/15(水) 10:19:46 ]
- >>326
意味わからんよなー
- 329 名前:309 mailto:sage [2007/08/15(水) 10:23:07 ]
- >>326
多分、>>289から続く >副作用があるコードを関数呼び出しで書いちゃ遺憾。 について言ってるんだと思う。
- 330 名前:329=309 mailto:sage [2007/08/15(水) 10:25:08 ]
- アンカーミス。>>327ね。
後、>>328誰だw
- 331 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:26:15 ]
- マクロに放り込むんだり引数の評価順に左右されるような場合はマズいけど
別にこのケースは何の問題も無いわな スタイルとして自分がそう心がけているというだけの話なら ご立派ですねで終わりだが 実にどうでもいい
- 332 名前:292 mailto:sage [2007/08/15(水) 10:26:21 ]
- 適切な日本語ではなかったけど、脳の衰え始めている先輩方には難しかったかな?
むしろ適切であったとしてもまともにこたえる気はなさそうにおもえる
- 333 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:27:23 ]
- 2chで煽るのだけが生き甲斐の厨房に
煽り返す厨房か
- 334 名前:309 mailto:sage [2007/08/15(水) 10:44:58 ]
- >>331
今は問題無いからいいって考えはどうかと思うぞ。後々の仕様変更に耐えられるコードを書く方がいい。 もっとも今回は副作用で問題が出るマクロにするのが一番悪いが。 >>332 >まともにこたえる気はなさそうにおもえる 何でそう思ったか知らんが結局質問は「副作用があるコードを関数呼び出しで書いちゃ遺憾って言ってるけど、それって*++pではない場合にもいえなくない?」って事か?
- 335 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:49:04 ]
- >>331
話題がループするが、sub()がマクロなら問題だからするべきではないという話だろ。 件のサイトではsub()が何か提示されていないのだから、問題がないとは言えない。
- 336 名前:292 mailto:sage [2007/08/15(水) 10:54:44 ]
- 皆さんの話がかみ合ってないかもしれないので整理しましょう
*++pってなんですか?
- 337 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 11:00:13 ]
- >>335
マクロにsub()なんて名前をつけてるのならそっちのが問題じゃね マクロは大文字で目立たせるのが基本だし subはサブルーチンのサブだろう ま、標準ライブラリの一部の関数はマクロで実装することも許されているけどな
- 338 名前:デフォルトの名無しさん [2007/08/15(水) 11:13:27 ]
- >>336
死ね
- 339 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 11:32:32 ]
- すみません、教えてください。
C++でコンテナからイテレータを取り出すときに、iterator とconst_iterator とを 区別するのはどうやっているんでしょうか? std::vector<>::iterator begin(); と std::vector<>::const_iterator begin() cons; のように、同じ関数でiterator を返したりconst_iterator を返したりしたいんですが、上手くいかない……
- 340 名前:339 mailto:sage [2007/08/15(水) 11:40:56 ]
- ごめん、忘れてください。超間抜けなこと聞いた。
暑くて頭がボケてたみたい……
- 341 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 11:42:17 ]
- while(1) sub( *++p );
で意味をなす単項subってどんなマクロ(関数)なんだろ
- 342 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 11:46:15 ]
- >>337
<*grep*>:319:crt/src/minmax.h:21:#define max(a,b) (((a) > (b)) ? (a) : (b)) <*grep*>:333:crt/src/stdlib.h:166:#define __max(a,b) (((a) > (b)) ? (a) : (b)) <*grep*>:340:crt/src/stdlib.h:472:#define max(a,b) (((a) > (b)) ? (a) : (b)) <*grep*>:342:crt/src/v2tov3.h:71:#define max(a,b) (((a) > (b)) ? (a) : (b)) <*grep*>:387:include/minmax.h:21:#define max(a,b) (((a) > (b)) ? (a) : (b)) <*grep*>:399:include/stdlib.h:146:#define __max(a,b) (((a) > (b)) ? (a) : (b)) <*grep*>:406:include/stdlib.h:424:#define max(a,b) (((a) > (b)) ? (a) : (b)) <*grep*>:603:PlatformSDK/Include/WinDef.h:177:#define max(a,b) (((a) > (b)) ? (a) : (b)) なるほど、標準ライブラリにないmax()系がこんなにあるとはM$は問題だらけだね。
- 343 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 11:48:41 ]
- >>341
きっとこんなのだよ。 #define sub(x) putchar(x)
- 344 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:04:17 ]
- >>342
そうだな。実際最悪だろ。
- 345 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:06:28 ]
- マクロは名前空間にもくるめないしなあ
- 346 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:08:02 ]
- >>342
実際、それが問題になることがあって、 min,maxを定義しないようにするための NOMINMAX というマクロが存在する
- 347 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:08:48 ]
- >>342
実際そのマクロの存在の為に、VC6の<algorithm>にはstd::max, std::minがない。 これはC++の移植性において、由々しき問題である。
- 348 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:10:11 ]
- まあVC6はそれ以前に色々ダメすぎだけどな
今となっては
- 349 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:10:29 ]
- >>342
Effective C++でも第1項でいきなり問題視してるじゃん。
- 350 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:41:16 ]
- Effective C++(笑)
- 351 名前:デフォルトの名無しさん [2007/08/15(水) 12:50:00 ]
- 質問です。
Windows Vista買ったら、Borland C++5.01のダイアログエデイタが正常に動作しません。 Xpマシンもありますがどうすればいいでしょうか? 1.プログラムはXpマシンで作成してコピーする。 2.ダイアログの部分だけXpマシンで作成してコピーする。 3.Vistaで動作する開発環境を買って移植する。
- 352 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 12:57:03 ]
- マルチ死ね
- 353 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 14:18:31 ]
- >>349
ttp://kamaitachi.blogdns.net/cgi-bin/izna/manage/img0351.jpg これか。別にそんなに問題視はしてないように見えるが。
- 354 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 14:21:04 ]
- 問題視しまくりじゃないか。
- 355 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 14:47:21 ]
- ここで言う「マクロと関数に名前の区別」というような点は問題視してない
- 356 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 14:56:09 ]
- 確かに>337が指摘しているような「大文字ではない」ことについてはなんら言及されていないね。
- 357 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 15:01:51 ]
- >>349は>>342宛なんだから、「ここで言う」はmaxマクロに対応させないと。
- 358 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 15:14:41 ]
- なるほど。確かにそっちはそうだな。
- 359 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 18:25:13 ]
- 今北産業。
>>284 > 「単独の文 > *++p; > は間接参照の文が無意味である。」 > ってどう意味なのでしょうか? > 実例を挙げていただけないでしょうか。 無意味でない例なら出せる。 volatile int* p; とか宣言されていて、p が実はメモリマップド I/O で読むだけでも意味がある場合がある。 >>293 > #define sub(x) (x < 0 ? -x : x) sub(a+b) とかでおかしくなるから >>342 みたいに () 使おう。
- 360 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 18:29:58 ]
- >>359
p が volatile int* であっても *++p; と書いて、pがdereferenceされることは保証されてないだろ。
- 361 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 19:14:24 ]
- >>360
すまん、よくわからんのだが「p が deference されることは保証されない」のは、特に *++p; に言える、と言ってる?それとも、 *p; でも同様だと言ってる?
- 362 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 19:24:20 ]
- >>360
とりあえず volatile な *p; については c0x.coding-guidelines.com/6.7.3.html の 1488-1489 辺りで「最適化で削除しちゃいかんよ」ってな事になってるが。 もっといえば volatile int x; x; でも一緒。
- 363 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 20:19:08 ]
- 更にいうと
const volatile int x; x; でも処理系は x の読み出しを削除してはいけないし、 x の値を何かに使う場合複数回の読み出しで同じ値だと仮定してもいけない。 この場合の const は「書き込めません」っていう意味だ。
- 364 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 07:37:42 ]
- char *p;
char *q; p = "hoge" + 1; q = "hoge"[1]; この場合pはoになることは正しいですよね。 pにはhのアドレスが代入される訳ですから。 んでqの場合は配列じゃないので、 char x[] = "hoge"; int r = x[1]; なら正しくrにはoが代入されますけれど、 q = "hoge"[1];とかいても警告は出ますし、 無意味な値が代入されるけれどもコンパイルはされてしまいます。 どうしてコンパイルエラーにならないんでしょうか?
- 365 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 07:55:01 ]
- "hoge" + 1
はポインタだが、 "hoge"[1] はポインタではない。
- 366 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:01:25 ]
- それは分かるんですけれども、
なんでコンパイル出来るのか? が疑問なんです。
- 367 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:04:43 ]
- >>364
char* p = 定数; ならわかる?
- 368 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:13:50 ]
- >>366
>pにはhのアドレスが代入される訳ですから。 間違い。
- 369 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:20:38 ]
- >>364
C言語だと、整数からポインタへの代入は警告止まりになる。 C++ だとエラーになる。
- 370 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:38:00 ]
- >>367,369
char* p = 定数; いや、もちろんポインタに数値をキャストしなくても 代入出来ることは知ってます。 q = "hoge"[1]; ってコンパイラはどういう風に解釈するんですか? >>368 >pにはhのアドレスが代入される訳ですから。 え、じゃ文字列の先頭のアドレスで正しいですか?
- 371 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:42:22 ]
- >>370
"hoge"+1なんだから、当然'o'ヘのポインタだ。
- 372 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:43:32 ]
- >>370
hのアドレス=文字列の先頭のアドレス 代入は+1が行われたあとだろ? だからすでにアドレスが変わってる
- 373 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:45:27 ]
- >>370
q = "hoge"[1]; と static const char x[] = "hoge"; q = x[1]; は大体同じ。
- 374 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 08:59:29 ]
- >>372
すいません、勘違いしてました。 >>371,373 えっと自分が聞きたいのは、 char *q = "hoge"[1]; という文がなぜコンパイル出来るかってことなんです。 char q [] ="hoge"; char *p = "hoge"; はあきらかに違うのに char *q = "hoge"[1]; がコンパイル出来るとまるでこの二つが同じように錯覚してしまって 間違いの元になるんじゃないかって思ったんです。 んで、そういう事が出来るのはきっと何か理由があるに違いないと思ったんです。
- 375 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:05:40 ]
- 特に理由はない。
文法上問題がないから警告止まりでコンパイルされるだけ。
- 376 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:08:16 ]
- > char q [] ="hoge";
> char *p = "hoge"; > はあきらかに違うのに > char *q = "hoge"[1]; > がコンパイル出来るとまるでこの二つが同じように錯覚してしまって > 間違いの元になるんじゃないかって思ったんです。 なぜ二つが同じように錯覚するの?
- 377 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:27:30 ]
- >>375
ほんとだ。 char *x = "hoge"; p = x[1]; がコンパイル出来る。 x 0x85fd8 p 0x6f pのアドレスってどこから出てきたんだろう?
- 378 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:28:33 ]
- >>374
= の右辺に書かれた T 型の文字リテラルは T 型の static 配列と同じです = の右辺に書かれた T 型の配列は T 型の配列の先頭要素を指す「Tのポインタ型」になります 理由としてはっつーか便利だし〜みたいな?
- 379 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:31:29 ]
- >>377
'o' に決まってるだろう。
- 380 名前:デフォルトの名無しさん mailto:とか言ったらまた食い付いてくるかな?sage [2007/08/16(木) 09:36:05 ]
- >>377
m9(^Д^)プギャー
- 381 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 09:39:47 ]
- >>377
一応言っておくけど0x6fはアドレスじゃないよ 'o'に対応するアスキーコード c-production.com/special/03090704.html
- 382 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:00:58 ]
- qはそれ自身が配列であり、右辺の"hoge"はコンパイラに対する
初期化内容としてのみ解釈される。定数"hoge"は実行時には存在しない。 pの場合、実行時に定数"hoge"をメモリ上に用意して、そのポインタを利用する。 なので同じように見えても右辺の意味がまったく違う。 もともとqは以下のように記述すべきものだったんだろうけど、 char q[] = {'h', o'', g'', 'e', '\0'}; 不便なので、利便性のために char q[] = "hoge"; という書き方も受け入れるようになっただけ。 結果的にpとqの右辺が似ているけど、たまたま。
- 383 名前:デフォルトの名無しさん [2007/08/16(木) 10:07:36 ]
- *p = "hooge"
p[] = "hooge" は同じだろ
- 384 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:11:42 ]
- >>383
本気で言ってるのか
- 385 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:20:58 ]
- >>383
別物
- 386 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:44:01 ]
- >>383
どっちもセミコロンが無いからエラーになる→同じこと ってオチは無しだぞw
- 387 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:49:20 ]
- >>383
>>364未満だな
- 388 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:49:57 ]
- 型名もないしな
- 389 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 10:52:18 ]
- フフ
- 390 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 11:30:57 ]
- void foo() {
auto char *p = "hoge"; auto char p[] = "hoge"; … } とした時の挙動からして違うことは判るだろ
- 391 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 11:48:08 ]
- char p1[] = "hoge";
char *p2 = "hoge"; p1[1] = 'a'; p2[1] = 'a'; // <=
- 392 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:16:13 ]
- Perlの無名配列みたいに
{1000,100,10}[0] もいけたらいいのに
- 393 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:24:01 ]
- C99
#include <stdio.h> #include <string.h> int main() { printf("%d\n", (int[]){1,3,5,7,9}[1]); }
- 394 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:33:57 ]
- >>393
こんな事出来るんだ。 知らんかった。
- 395 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 12:49:24 ]
- >>393
うは、いけるんやwありがと
- 396 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:01:08 ]
- 配列として認識されるのか…すげー
- 397 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 21:45:24 ]
- これでC99準拠のコンパイラがもっと増えてくれれば
- 398 名前:768 mailto:sage [2007/08/16(木) 22:36:05 ]
- C99、便利だけどC言語としてみるとキモい・・・
- 399 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:38:18 ]
- C++と同期とって進化してくれれば歓迎なんだけどな。
- 400 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 22:57:51 ]
- C99準拠のコンパイラって少ないの?
GCCしか使ってないから知らんのだけど。
- 401 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:02:56 ]
- >>400
Comeau
- 402 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:06:00 ]
- 前使ってた Borland C++ 5.5.1 は C99 非準拠だったな.
- 403 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:06:01 ]
- ICC
- 404 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:20:10 ]
- VC++ のやつが無視しやがってるから広まらないのかな。
- 405 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:20:51 ]
- C99はDと同じ運命をたどればいいんだよ
- 406 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:22:13 ]
- VC++はC++コンパイラだからC99対応しないよ、ってMSの
中の人が言ったんだっけか。
- 407 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:29:51 ]
- 確かにVC++8.0で試すと凄い勢いでエラー出るな
- 408 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 23:35:47 ]
- まあ、C99 使うくらいなら C++ 使うってのは確かだが
- 409 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 00:35:35 ]
- 数式を画面に表示させるためのライブラリって無いでしょうか?
x^2みたいなのを、綺麗に表示するためのライブラリがほしいのです。 できれば、ソース公開している奴で、無ければソースは無くてもいいのですが とにかく、アプリに組み込んで開発できる奴がいいです。 ちなみに、開発環境はVC++2005、WinXPProを想定しています。 動作環境も同様にXPProです。 よろしくお願いします。
- 410 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 04:48:29 ]
- >>409
ググっただけなんで、中身はシラネ。 www.vector.co.jp/soft/win95/prog/se363439.html
- 411 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:26:10 ]
- ビット演算がうまくなるコツってないですかね?
全く使いこなせてないので、 他人のソース読んでて、使いこなせていると凄く羨ましいんですけれど。
- 412 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:27:47 ]
- 才能ないよ諦めた方がいい
- 413 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:37:52 ]
- コラー!
- 414 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 05:49:50 ]
- 自虐し過ぎ
- 415 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 06:14:34 ]
- >>411
グラフィックまわりをいじって変な画面効果とか作るのが楽しいかも 上達が見てわかるし
- 416 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 08:06:25 ]
- >>411
エンディアンと変数型のバイト幅を意識すること。 算術シフトと論理シフトを意識すること。 コツっていうとこんぐらい? フラグ的な使い方の話だったら、 必要になった時だけ使うのが良いんじゃないかなぁ。
- 417 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 08:08:28 ]
- >>411
論理演算、真理値表、2進数⇔16進数変換。 この辺のキーワードを調べ使いこなせるようになるとずっと違うと思うよ。 例えばこんなの。 a b c r 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 x 1 0 1 x 1 1 0 0 1 1 1 1 こいつからrを求める式を導き出せれば一歩前進。
- 418 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:16:08 ]
- 皆さんアドバイス有り難うございます。
ビット演算は大事ですからね。 精進します。 >>417 グヌヌ。 難しいぞ。分かんないっす。
- 419 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:22:07 ]
- プッ ヘボすぎ
- 420 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 09:29:14 ]
- ~(a^c)&b
こうですか?
- 421 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 10:04:58 ]
- タンクローリーを運転する人に見えたのは俺だけでいい。
|

|