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


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

C++相談室 part62



1 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:53:59 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part61
pc11.2ch.net/test/read.cgi/tech/1205059063/

477 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:50:37 ]
俺は入門書とD&Eで2冊だった。あとはweb。

478 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:51:15 ]
webって手もあるね。

479 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:51:55 ]
学校の図書館に散々リクエストしまくっている俺がいる。
卒業したらリクエスト出しづらくなるから、早く0xが出てくれないと困る。

480 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:54:06 ]
0xが2009年末くらいに出たとして、そこからそれに対応したコンパイラや
書籍が揃うまで、どのくらいかかるんだろうね。

481 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:55:03 ]
webも含めて、他人のソースを見るのは結構効果的だと思う。
オープンソース系や、STLとかboostとか。

482 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:55:57 ]
コンパイラの方はすぐだろ
書籍はそれから半年遅れてドバッと出てくるか

まあC++でほとんどのプログラミングテクニックは
出尽くしているから文法本しか買わないと思う

483 名前:デフォルトの名無しさん [2008/06/29(日) 20:16:51 ]
知り合いの達人プログラマーに
何から始めたらいい?って聞いたら
C++とロキやれって言われたけど

ロキってなに?

484 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 20:18:27 ]
Lokiは今更だなぁ。boostで良いと思うよ。

485 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:19:50 ]
コンストラクタやデストラクタにinline指定をして、メリットって
けっこうあるもん?



486 名前:デフォルトの名無しさん [2008/06/29(日) 21:23:55 ]
>>485
inline は使いまくるほど最適化がかかりやすくなる

487 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:26:53 ]
>>485
プロファイルしてみれ

488 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:35:44 ]
するってぇと、もはやコンストラクタは一般に
explicit inline 指定はデフォ?

489 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:37:19 ]
場合による。吐き出すコードのサイズと相談だ。

490 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:37:52 ]
force inlineして結果変った場合だけつけろよ
デバッグするとき泣くぞ?

491 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:49:44 ]
>>485
最適化がかかりやすくなるかもしれんが、実装をヘッダに晒すようだとデメリットも大きい。
inline で向上する効率を確かめて、さらにそれが必要だといえる時だけ使うのがいい。

492 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:55:14 ]
L2キャッシュに収まりきらないコード量をinline指定によって
吐くようになった場合はかえって性能が低下する事がある

実際に走らせてみるかプロファイル取ってみるかだな

493 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:56:36 ]
アクセッサ程度のメンバ関数なら、無条件でinlineでおk?

494 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:11:51 ]
おk

495 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:19:36 ]
逆にヘッダに実装書きつつ、inlineにしたくない場合って
void hoge::hage(){...} ってクラス定義の後に分けて書けば良いんだっけ?
※コンパイラオプションはそのままで



496 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:23:45 ]
>>493
491と同じではないかと思うけど。
C++ coding standardに載っている時期尚早な最適化(だったかな)じゃないかと思う。

497 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:24:26 ]
ヘッダに非inline関数の実装を書いたら、そのヘッダを取り込んだ
翻訳単位それぞれに関数の定義ができて、重複エラーになるんでは?

498 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:30:16 ]
>>497
普通なるね。

499 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:33:20 ]
>>497
ならない。

inline 関数の定義が、リンクされるすべてのコンパイル単位間で矛盾して無い限りは問題ない。

500 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:33:33 ]
重複した同じ定義を一つにする方法って無いんだったっけ?
テンプレートクラスとかの型毎のインスタンスはリンク後は一つになるよね?

501 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:34:08 ]
>>499
非inline関数でっせ?

502 名前:499 mailto:sage [2008/06/29(日) 22:34:30 ]
あれ?非inlineか。ごめん。

503 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:41:40 ]
クラスの中に

static int a[] = {} かけないんだっけ?

504 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:50:36 ]
>>503
無理
static const int のみ初期化OK

505 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:52:14 ]
もっというと整数型がOKってことみたいだね。long や shortも
初期化おk



506 名前:497 mailto:sage [2008/06/29(日) 22:57:12 ]
よく考えたら、
メンバ関数ならOKで非メンバ関数だとNGじゃないかな。

507 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:59:55 ]
>>506
どっちでも同じ。ただしメンバ関数をクラス定義内で定義した時は自動的に inline 扱いになる。

508 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:35:16 ]
>>506
俺が497だwなりすますな

509 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:52:16 ]
最近のC++の流行では
getter/setterはどうやって書くの?

510 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:55:30 ]
マクロを使って読みにくく且つ簡潔に書きます

511 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:55:57 ]
今までの話の流れからすると、実装はソースファイルに書くのが
基本みたいな話だね。ただ、inline指定してみて効果が顕著だったら
inlineにするみたいな。
しかし、ほとんどの参考書では、GetやSetはクラスの型定義内に
inlineとして実装されてるよね。あれが誤解の元なんだろうか。

512 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:00:23 ]
誰か>>500教えて〜

513 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:02:22 ]
リンカがよきにはからってくれるんじゃないの?

それか明示的にインスタンス化しておくとか

514 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:06:04 ]
inlineはコンパイラによってはデフォルトで無視されるし
あまり気にしなくていいんじゃないの?
CPUがリターンキャッシュ持ってれば

515 名前:デフォルトの名無しさん [2008/06/30(月) 00:17:18 ]
>>492
P6のばやいL1じゃね?



516 名前:デフォルトの名無しさん [2008/06/30(月) 00:26:54 ]
>>514
無視するコンパイラにも、なるべく広範囲のソースを見せたほうがいい
処理系には何がしたいのかを伝えよ、禿の格言にもあるぞ

517 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:27:04 ]
なんか初歩的な質問かもしれませんが、変数名やクラス名ってどう名づけてます?
変数や関数、インスタンスは小文字から始まり、
クラス名は大文字からはじめるのが一般的なんでしょうか
また、分かりやすい名前をつけると、クラス名とそのインスタンス名がかぶってしまうんですが、
何か分け方はありませんか

518 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:31:40 ]
クラス名・変数名に迷ったら書き込むスレ。Part12
pc11.2ch.net/test/read.cgi/tech/1206118762/

ここで聞いてみるとか

519 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:36:48 ]
>>517
クラス名の最初にcを付けてる

520 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:41:40 ]
>>517
先生方のルールを参考にしてはどうかな
www.boost.org/doc/libs/1_35_0/boost/multi_array.hpp

521 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:53:51 ]
一応>>520のを書いておくと

クラス名        :小文字+アンダーバーの組み合わせ(例:multi_array)
ネームスペース名 :クラス名同様
ローカル変数名  :クラス名同様のルールで短めに
メンバ変数名    :クラス名のルールに加えて最後にアンダーバー
             短くなくても良い(例:allocated_elements_)
関数名        :クラス名同様
テンプレート型引数名:パスカルケース(例:NDims)
マクロ名       :大文字+アンダーバーの組み合わせ
             (BOOST_STATIC_CONSTANT)

522 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:54:58 ]
typedef enumはどうすれあいいの?

523 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 01:03:51 ]
typedefはクラス名同様
enumはメンバ変数名と同じ

ただ、boostの中で完全に統一されてるわけでもないみたい

524 名前:デフォルトの名無しさん [2008/06/30(月) 01:04:28 ]
>>517
unko_t unko;

525 名前:デフォルトの名無しさん [2008/06/30(月) 01:16:04 ]
Cの勉強をしているのですが、VCでスタティックライブラリを作ってみたりしました。
その後、似たものでシェアードライブラリ(.so)なるものがあるのを知ったのですが、
VCで作成することはできますか?
検索してもgccばかりが見つかってしまって。

ライブラリのファイルがないとexeの実行ができないようですが、dllと何が違うのか分かりません。



526 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 01:20:46 ]
>>525
dll と同じようなものです
UNIX系では shared object
Windows系では dynamic link library

527 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 01:41:04 ]
>>517
>438で出てたGoogleのルールのまとめ:
●ファイル名
ぜんぶ小文字で、単語は_か-で区切る。foo-bar.cc
●クラス名
各語の先頭を大文字にする。 FooBar
●名前空間名
ぜんぶ小文字。区切りについては明記してないけど、_? foo_bar
●変数名
ぜんぶ小文字で、単語は_で区切る。 foo_bar
●メンバ変数名
ぜんぶ小文字で、単語は_で区切り、最後は_にする。foo_bar_
●関数名
クラス名と同じ。アクセサだけは変数名と同じ。
●定数
先頭にkを付けて、単語区切りは大文字。 kFooBar
●マクロ名
マクロなんて使うな。

アクセサと定数が妙だなあ。


528 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 02:07:19 ]
定数の接頭語のkって何の意味?

529 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 02:13:43 ]
konstant。なぜかこれだけドイツ語。

530 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 02:13:47 ]
koteiのk

531 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 02:16:10 ]
>>518-521,527
細かくありがとうございます
いろいろな方法があるんですね
検討して、しっくりくる方法を選びたいと思います


532 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 03:23:02 ]
constant でプレフィクス c だと、コーディング規約にも関わらず class と混同しそうだな
マクロ禁止なら全部大文字でもよさそうだが・・・

533 名前:デフォルトの名無しさん [2008/06/30(月) 03:40:28 ]
メンバはm_というつまらん駄洒落をまだやってる俺はどーせM$かぶれだい

534 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 07:48:41 ]
>>533
boostにもあったりするよw
www.boost.org/doc/libs/1_35_0/boost/regex/v4/regex_format.hpp
> const traits& m_traits;
> const Results& m_results;
> OutputIterator m_out;
> ...

535 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 12:36:05 ]
標準的な識別子のプレフィックス一覧みたいなのなーい?
てか、どこの会社でもまちまちなんだろうけど。



536 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 12:41:49 ]
プレフィックス一覧って?
命名ルールなら上で出てるgoogleかboostので十分だと思うけど。

537 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 15:27:37 ]
なんか、なんちゃら記法みたいなのなかったっけ?
ポインタはpを付けるとか。C言語の時代か?

538 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 15:49:34 ]
ジャンガリアン

539 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 15:50:56 ]
ハンガリアン記法
ja.wikipedia.org/wiki/%E3%83%8F%E3%83%B3%E3%82%AC%E3%83%AA%E3%82%A2%E3%83%B3%E8%A8%98%E6%B3%95

ただし、ポインタにpを付けたりするのは
システムハンガリアンと呼ばれる間違ったハンガリアン記法。

本当のハンガリアン記法は
アプリケーションハンガリアンと呼ばれてる。

540 名前:デフォルトの名無しさん [2008/06/30(月) 19:08:04 ]
禿リアン

541 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 19:30:34 ]
>>539
おお、それそれ。なんか批判が多いみたいだね。保守が大変とか。
けっきょくプレフィックスなんてないほうがいいのかね……


542 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 19:44:44 ]
プレフィクスの使い方を間違わなければ有用らしいよ

間違ったコードは間違って見えるようにする - The Joel on Software Translation Project
local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B


543 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 20:29:03 ]
つまりアプリケーションハンガリアンてのは、識別子の補助的な意味を表す
プレフィックスを付けるって感じ?
システムハンガリアンはデータ型を表すプレフィックスを付けてるのかな?

544 名前:506 mailto:sage [2008/06/30(月) 21:13:12 ]
>>508
ごめん。眠かったから間違えた。 by498

545 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:01:10 ]
void hoge(const std::vector<foo>& foos);
という宣言をヘッダ(hoge.h)に書いたとき,fooを宣言している
ヘッダもhoge.hでインクルードしないといけないでしょうか?
それともhoge.hでは
class foo;
と書くだけでおkでしょうか?



546 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:50:55 ]
データを線形リストでアクセス可能かつキューのように
扱えるデータ構造ってありませんかね?

data[3].hogeみたいにアクセスもしたいし
dequeue(data)みたにもアクセスしたい

547 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:58:57 ]
>>546
std::dequeが火を噴くときが来たな

548 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 01:19:19 ]
なんという出番w

549 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 08:09:47 ]
>>545
標準ライブラリのテンプレート引数は基本的に完全型じゃないとダメ。
つまり class foo; だけじゃダメ。

550 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 10:33:31 ]
forkについて

1プロセスで三回printfを実行して別プロセスを作成
そこからまた三回printfを実行して別プロセス
10プロセス実行完了したら最初のプロセスから終了していく

そんな課題なのだけどforkが理解できなくて困っている…
申し訳ないですがバカな俺でも理解できるように解説してくださらんでしょうか?

551 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 10:59:33 ]
>>550
まずスレ違い。OSの話で言語と関係無い。
で、もうちょっと端的に質問しないと、ググって出るような解説をするしかないよ。

552 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 11:05:57 ]
>>550
fork → UNIX/Linux系のシステムコールで環境依存
printf → C言語
【初心者歓迎】C/C++室 Ver.55【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1213466622/l50

>そんな課題
C/C++の宿題を片付けます 111代目
pc11.2ch.net/test/read.cgi/tech/1214563642/l50

>解説して
www.google.com/search?q=fork

553 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 12:25:56 ]
質問です。
newでメモリを動的確保する場合失敗するとNULLが返るのですが、
これを意図的に失敗させたい場合どのような手段があるでしょうか?
どういう場合にnewが確実に失敗するのかがよくわかりません。
よろしくお願いします。

554 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 12:33:52 ]
>newでメモリを動的確保する場合失敗するとNULLが返るのですが
返らないよ.
newが失敗したらbad_allocって例外が投げられる
ためしに以下の失敗するコードを実行してみるといいよ
char *a = new char[0x7FFFFFFF];
if (a == NULL) printf("%s", "メモリ失敗"); // 標準準拠のコンパイラではこのコードは絶対に実行されない

555 名前:デフォルトの名無しさん [2008/07/01(火) 13:11:01 ]
>>554
先生、失敗しないんですけど



556 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 13:24:11 ]
ワロタ

557 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 14:00:19 ]
struct test_type{ char mem[0x7FFFFFFF]; };

test_type *a = new test_type[0x7FFFFFFF];
if(a == NULL) printf("%s", "print format");

558 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 14:28:44 ]
>>555 for (;;) で囲め。

559 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 15:19:53 ]
コンパイラのバージョンを聞いたほうがいい
古いやつとか組み込み用は標準と違う動作をするだろ

560 名前:553 mailto:sage [2008/07/01(火) 16:19:49 ]
ご回答ありがとうございます。
コンパイラはVC++2005付属のMSコンパイラVer 8.00.50727.42です。
>>554のサンプルコードを試しましたが、確かにNULLでなく例外を投げていますた。
コンパイラが古いとNULLを返す仕様になっているのでしょうか?

561 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 16:27:37 ]
10年くらい前なら NULL を返したかもしれない
今はみんな bad_alloc を投げる

562 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 18:37:37 ]
msdn.microsoft.com/ja-jp/library/kftdy56f(VS.80).aspx
>In Visual C++ 2005, the C Runtime Library's new function will also
>throw a std::bad_alloc exception if the memory allocation fails.
>If you still want the non-throwing version of new for the C Runtime Library,
>link your program with nothrownew.obj. However, when you link with nothrownew.obj,
>new in the Standard C++ Library will no longer function.

563 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 18:54:03 ]
失敗時に NULLがほしいときは new (std::nothrow) じゃなかったっけ。

564 名前:デフォルトの名無しさん [2008/07/01(火) 19:52:48 ]
>>557
数学的に破綻してるコード嫌い

565 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 19:57:04 ]
今、MSもVC++ Express Editionなる、無料コンパイラ配布してんだし、
最新の2008を使うべきでは。商用コンパイラ必要になるほどの
大プロジェクトじゃないならね。



566 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 20:00:24 ]
>>564
数学的に破綻って?

567 名前:デフォルトの名無しさん [2008/07/01(火) 20:18:41 ]
>>566
失敗しない環境がありうるだろ
7で始まるのがプゲラとか言う問題ではない

568 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 20:43:06 ]
大抵の環境で失敗するだろうから細かいことはいいんだお!

569 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 20:44:11 ]
size_tの最大値じゃん。

570 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 20:56:07 ]
>565
Express Edition は無料でいいんだが、MFCが使えん。

お偉いさんは、見た目が一番なんだよ。

571 名前:デフォルトの名無しさん [2008/07/01(火) 21:53:20 ]
>>570
見た目を気にするなら、なおさらMFCはダメだろ

572 名前:デフォルトの名無しさん [2008/07/01(火) 22:11:16 ]
>>569
何が?

573 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 23:35:10 ]
size_tは符号無し整数だよ。サイズは処理系定義だけど。
それはともかく、普通に2Gも確保出来るってのが・・・w

>>565
2008はWin2Kに入らなかったりしてなw
2Kをバカにすん(ry

>>570
WTL+ATL使おうぜ

574 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 00:01:19 ]
>>573
メモリ確保操作は、物理メモリのサイズが足りなくても
アドレスだけ確保して返して成功してしまう場合がある。
実際に手元の2GBしかメモリ積んでないマシンで2.5GB確保してもなんなく成功する。

これは、デマンドページングといって、物理メモリの確保が
実際にメモリを踏んだ段階で初めて起こるような仕組みが存在するため。
C++のnewの場合は、コンストラクタでメモリを踏んでしまう場合があるから
この仕組みがあったからといって実際に得はしないような気はするけどな。

575 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 00:04:33 ]
UNIX系はそうなんだっけか
まあVCには全く関係がないな
連続した大領域確保しようとするとよく失敗するし



576 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 00:11:04 ]
>>574
デマンドページングが動いている状態で、実際には確保されていない(&できない)アドレスにアクセスしたらどうなるの?

577 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 00:12:46 ]
>>574
単にスワップメモリで足りただけじゃね?






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

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

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