[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/27 13:48 / Filesize : 71 KB / Number-of Response : 358
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

【初心者歓迎】C/C++室 Ver.84【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2013/04/28(日) 17:27:19.70 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.83【環境依存OK】
toro.2ch.net/test/read.cgi/tech/1363154865/
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

152 名前:デフォルトの名無しさん mailto:age [2013/05/15(水) 12:29:19.47 ]
派生クラスを複数生成したら
基底クラスも複数生成されるの?
基底クラスは1つ?

153 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 12:37:12.77 ]
はい

154 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 12:59:43.87 ]
いやどっちだよw

155 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 13:09:10.74 ]
もう少し明確にしてくれ。クラスの定義の話かインスタンスの話か?

156 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 15:56:34.22 ]
クラスの定義が複数生成されるとか嫌過ぎるわ…構文上の規約の問題とメモリの割り当ての理解がごっちゃになってる
hppってヘッダーにcppのコード突っ込んでリンカ解決やら楽しようぜ

h+cpp だから hpp だカッコいいだろう!!
みたいなイメージだ

157 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 17:58:27.63 ]
>>152
クラスのインスタンスを人間にたとえると
基底クラスの顔と派生クラスの顔
つまり2つの顔を持つ人間が1人生まれる

158 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 17:58:48.01 ]
「クラスを生成」はたいていの場合、
発言者は「クラスのインスタンスを
生成」のつもりであることが多い。なので

派生クラスのインスタンスを複数生成したら
それぞれに基底クラスのインスタンスが含まれる

159 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 18:04:20.08 ]
自己顕示欲マンセー

160 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 18:17:38.64 ]
複数の翻訳単位で派生クラス(テンプレートクラス)がインスタンスされた場合、
それぞれの翻訳単位で基底クラスが暗黙にインスタンス化される。
だがODRで一つと見なされるのでインスタンスの数を意識する必要はない。
コンパイル時間を短縮したいならexternでインスタンス化を抑制する



161 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 18:44:10.49 ]
基底クラスだけテンプレートを
インスタンス化できる?
派生クラスのインスタンス化に
必要不可欠のような

162 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 19:49:38.87 ]
基本クラスだけ?
逆?

163 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:00:26.86 ]
最近hoge厨が静かになって
平穏がおとずれたようだ

164 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:03:42.01 ]
自治スレか宿題スレに篭っているんでしょう平和が続くといいですね

165 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:10:12.64 ]
hoge使いはUnixerに多い。
つまりUnixerは底辺。
msは底辺以下、
coolなguyはMacを選ぶね

166 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:28:03.36 ]
Macは負け組

167 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:30:00.84 ]
foo bar は?

168 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:33:57.17 ]
Linux:キチガイ、変人が使う
MS:馬鹿が使う
林檎:自称かっこいい奴が使う
林檎は芸術家jobsの芸術作品だからな

169 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:35:44.05 ]
どちらかというとマカーに基地外が多い
何でかわからないけどマカーの基地外率は異常

170 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:42:27.85 ]
継承関係が A -> AA -> AAA の時にAAAのインスタンスを
生成するとAAとAのインスタンスも(見えないけど)生成される。
じゃないとスーパークラスのメソッドを呼び出せない。



171 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:42:53.09 ]
>>169
馬鹿が自称かっこいい奴を見てキチガイいって思うのは
馬鹿だからしょうがない

172 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:47:16.94 ]
>>152は多重継承の話をしてるんじゃないの?

173 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:55:25.05 ]
Aを継承したB
Aを継承したC
BとCを継承したD

Dのインスタンス中に居るAのインスタンスは単一なのか
 BにまつわるAのインスタンスと
 CにまつわるAのインスタンスとの都合2つに分かれるのか

こういう話?

174 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 20:56:46.04 ]
152の味噌汁

175 名前:152 [2013/05/15(水) 21:19:55.15 ]
インスタンスを生成でお願いします

176 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 22:54:57.47 ]
>>175
派生クラスのインスタンスの数に応じて基底クラスのインスタンスも複数生成される

struct X { int a; };
struct Y : X {};
Y y1;
Y y2;

のとき y1.a と y2.a は別物

177 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 23:02:17.63 ]
つまんねっ

178 名前:152 [2013/05/15(水) 23:52:15.81 ]
すいません書き直します

基底クラスAがあり、そのAの派生クラスBがあり
Bのインスタンスを何度も生成した場合
B1とB2の基底クラスインスタンスAは
A単体なのかA1、A2と増えていくのかどちらですか?

179 名前:片山博文MZパンク ◆0lBZNi.Q7evd [2013/05/16(木) 00:00:10.27 ]
>>178 後者

180 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 00:17:06.64 ]
B1とB2はいったいどこから出てきたんだ
基底クラスインスタンスなんてわけわからん語を作るな
コードを書いて説明しろ



181 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 00:18:53.86 ]
こういうのが説明力がないっていうんだよな
会社で煙たがられる存在

182 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 00:20:36.18 ]
基底クラスインスタンスのメンバ変数を書き換えるようなメソッドを用意して実験したらいいんじゃないかな(エスパー)

183 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 01:01:07.62 ]
インスタンスの数=newした数(Java風)
だから顔の数じゃなくてボディの数で数えろと

184 名前:デフォルトの名無しさん [2013/05/16(木) 01:46:42.40 ]
>>180
何度も生成するから
1、2、3、4、5…
と増えていくんだよ

185 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 07:19:43.02 ]
単体なのか増えていくのか、
質問するより、自分でコード書いた方が早いだろ

186 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 09:52:49.32 ]
こういうのは入門書でよくやる理解しやすいたとえ話でやるより
コード貼ってどうこうしたほうが…そもそも自作自演っぽく思えてきたけど

187 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 11:35:44.57 ]
たしかにQZはC++の知識がないから
QZの自演ってことはありうる

188 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 12:25:09.68 ]
>>178
結局何を聞きたいのかさっぱりだ

189 名前:デフォルトの名無しさん [2013/05/16(木) 12:34:47.33 ]
派生を生成するために
基底のインスタンスも増えていったらメモリの無駄じゃないの?

190 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 12:38:06.02 ]
>>189
だったら派生せずに新しくクラスを作ればいいじゃん



191 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 12:38:42.93 ]
>>189
派生のインスタンスの中に基底のインスタンスに相当する部分が含まれているのでは?

192 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 12:40:31.09 ]
継承を一体何だと思ってんだか

193 名前:デフォルトの名無しさん [2013/05/16(木) 12:46:03.41 ]
派生を複数生成しても
基底は1つになる方法はない?

194 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 12:48:54.89 ]
なんか意味を正しく理解してないのがいそうだからこの流れでは『インスタンス』禁止にしとけ
クラスTのインスタンス -> T型の変数 と言い換えとけ

195 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 13:19:11.46 ]
>>193
継承を使わずに基底にあたる型をshared_ptrとかでメンバに持つクラスにしろ

196 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 13:25:38.02 ]
>>193
virtual継承

197 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 13:38:48.28 ]
>>193
is-aとhas-aの違いはわかる?

198 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 15:53:31.31 ]
学生は人である
学生を増やしても人のインスタンスが一つになっている状況とは如何に
あれか、学生数の水増しかw

199 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 16:17:39.82 ]
>>193の中では継承はどういうイメージになってるんだ?

200 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 17:01:59.23 ]
>>193
派生を使わない。
基本クラスに持たせようとしていた情報は
グローバル変数で持つ。
派生クラスに持たせようとしていた情報は単独の
クラスにして
みんなでグローバル変数をみる



201 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 17:04:43.82 ]
>>193
コンポジションを使うとか
どうしても継承が必要なのか、継承を使わなくてもいいのかはよく検討すべき

202 名前:デフォルトの名無しさん mailto:sage [2013/05/16(木) 18:30:51.59 ]
もうAとBとB1とB2を全部
グローバル変数にしようぜ

203 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 01:01:04.77 ]
1.const char* a //*aがconst
2.char* const b //bがconst
3.char const* c //1.と同じ?2.と同じ?

4.const char& d //dがconst?
5.char& const e //どこがconst?
6.char const& f //ドカーン!

constが分からんとですorz

204 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 01:02:41.45 ]
>>203
何故自分で試そうとしないのですか?

205 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 01:11:23.80 ]
>>203
これ見てわからなかったらもう来るなよミジンコ
ideone.com/ViHQJy

206 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 01:41:05.07 ]
くぎゅうぅぅ

207 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 01:47:27.57 ]
>>203
とりあえずconstは(変数ではなく)型に付くと覚えましょう

1.const char* a //const char型へのポインタ(型)(の変数)a
2.char* const b //char型へのconstポインタ(型)(の変数)b
3.char const* c //1.と同じ

4.const char& d //const char型への参照(型)(の変数)d (※)
 (※この形を『const参照』と呼びますがconst型への参照(型)の意味であって、型へのconst参照(型)の意味ではありません)
5.char& const e //エラー
6.char const& f //4.と同じ

208 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 02:03:39.74 ]
constは左隣につく、左側がない場合のみ、例外として右側につく、と覚えてる

209 名前:KUSO KOTE mailto:sage [2013/05/17(金) 02:15:00.69 ]
昔「エキスパートCプログラミング 知られざるCの深層」
というおUNKOな本があって、
型宣言の説明だけは素晴らしかった。

その読解法によると
const char* a
 a is a pointer to "const char"
char* const b
 b is a const pointer to char
char const* c
 c is a pointer to const char (=a)
const char& d
 d is a reference to "const char"
char& const e
 e is a const reference to char→エラー
char const& f
 f is a reference to const char

210 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 07:20:10.83 ]
>>203
1, 4 は例外的だし意味もあいまいだから「使わない」



211 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 07:40:06.86 ]
>>210
それぞれ3と6を使うってこと? それならむしろ自分は逆だなあ。

212 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 08:52:28.92 ]
char const* a は const *a だから、*a がコンスト
char* const a は const a だから、a がコンスト
って考えると、3, 6は確かに自然な気がする

でも、char const& a は const &a だから、&aがコンストかっていうと
何それイミフw
って考えると、全然自然じゃない気もする。

213 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 09:12:40.30 ]
constは
・左側で一番近い
・型に付いて
修飾するというのが基本ルール
>>203の1,4はその基本ルールでは解釈できず>>208,210のいうように例外的に解釈しなければならないから不自然

>>212はconstが右側の、型ではない*aやaや&aに付いてる、という解釈の時点で最初から二重に間違ってる

214 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 10:15:43.42 ]
なるほどなー。

自分は1,4を使う派だけど、constをどちらの目的で使うかによって、
型名とconstの位置が逆になるので、パッと見て分かりやすいかなー?と思っている。

215 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 10:49:49.41 ]
>>213
なるほど、てことは const の左側に「が」を補って
char const* は char が const
char* const は char* が const
char const& は char が const
char& const は char& が constはイミフだからエラー
って考えると自然?

216 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 12:03:02.39 ]
そんなかんじでいいんじゃない

217 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 12:43:38.38 ]
左側にconstは記憶域指定子(static,extern,...)付きの宣言とぱっと見同じ読み方で解釈できて
const初見の人でも受け入れやすい形だから便宜的に導入された記法なのかな

int a; // int
static int a; // なにかついてるけどint
extern int a; // なにかついてるけどint
const int a; // なにかついてるけどint
int const a; // なにかついてるけどconst、・・・?

218 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 12:46:15.89 ]
>・左側で一番近い
規格の該当個所はよ

219 名前:KUSO KOTE mailto:sage [2013/05/17(金) 15:03:07.06 ]
>>217
記憶域指定子は別に左でなくても良いのだけれど
ideone.com/k9Lxqm

220 名前:KUSO KOTE mailto:sage [2013/05/17(金) 15:12:14.57 ]
URL間違えたoops
ideone.com/PAlXVV



221 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 15:19:59.33 ]
msdn.microsoft.com/ja-jp/library/1b4az623.aspx
stringを取得する関数ってこれみたいに参照渡ししてることが多いけど、stringをreturnで返したら駄目なの?

222 名前:KUSO KOTE mailto:sage [2013/05/17(金) 15:31:43.27 ]
>>221
昔は右辺値参照が無かったから
コピーのオーバーヘッドを避けるために
参照にしていたと思われる。

223 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 15:47:36.06 ]
やはりマイクロソフトの設計思想かな
マイクロソフトは昔から関数を
inに対してoutを与えるものでなく
「正否のステータスを返せるサブルーチン」
ととらえているところがある。
だから戻り値は参照渡しで受け取る

224 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 15:50:21.95 ]
>>221
C++の.NET拡張はスレ違い

225 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 16:13:49.70 ]
>>224
221はただの例示で本題はstd::stringだからな?

226 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 16:22:45.99 ]
C++の文字列はJavaみたいはimmutable
じゃないからねえ。
わざわざインスタンスを生成するより
使い回す方が自然。

227 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 19:52:53.57 ]
今回のconstもだけど、テンプレートやポインタ等の型を
コンパイラはどのように構文解析して型を決めるんだ?

228 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 22:10:02.07 ]
その状況で構文規則的にありえる構文候補を列挙してソースとマッチするものに絞り込んでいくんだがそういう話でなく?

229 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 22:14:50.72 ]
*で区切られると覚えれば
別に左とか右とかそんなのどうでもいいんだよ

230 名前:KUSO KOTE mailto:sage [2013/05/17(金) 22:20:16.28 ]
>>227
1.明らかにシンボル名と思われる所を見つける
2-1.すぐ右に()があれば関数
2-2.すぐ右に[]があれば配列
2-3.すぐ左に&があれば参照
2-4.すぐ左に*または*constがあればポインターまたはconstなポインター
2-5.すぐ左に「型」または「型 const」または「const 型」があれば終わり
3.その 関数の戻り値/配列の要素/参照先/ポインターの差すものは…
→2-1に戻って解析を続ける

ただし途中に記憶指定子とか入るので適当にがんばる



231 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 22:29:30.64 ]
くそみそ

232 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 22:58:32.42 ]
"const"は型の前と後のどちらに置いたほうがよいですか
www.libjingu.jp/trans/bs_faq2-j.html#constplacement

233 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 23:02:15.59 ]
日本語でも英語でも修飾子や形容詞は名詞の前にあったほうが読みやすいってことか

234 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 00:27:47.88 ]
欧米人には>>209のC/C++表記だとすぐにそのように解釈できるのかな
同様にC/C++の型表記も自然な表記って感じるのか
俺的には、配列は int arr[10]じゃなく int[10] arrがいいだろって
初めのころは思っていたからな。

235 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 00:38:49.32 ]
Cの文法がint[] a でなくint a[]なのは
使う時の書き方に似せるという
方針だったはず。
だがC++で参照&が登場した際に一貫性を失った。
ハゲは臭いものにフタをするタイプだから
整合性を考えなくて困る。

236 名前:KUSO KOTE mailto:sage [2013/05/18(土) 01:15:59.31 ]
>>235
宣言と使用の記述の統一ついては
ISO/IEC 9899:1990の時点で既に
 宣言 void (*pf)() = f;
 使用1 pf();
 使用2 (********pf)();
とか怪しかったような。

237 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 01:31:31.65 ]
そんなことよりC#でやろうぜ
文法キモイ言語はポイしなさいポイ

238 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 08:04:30.10 ]
規格の何番の何ページという話は
規格オタ隔離スレでも作ってそこでやれ
初心者スレなんだよここは

239 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 09:20:03.56 ]
>>238
いやそのりくつはおかしい

240 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 10:14:01.38 ]
有識者が初心者に正しい使用を教える
ってよりは、
俺こんなに規格読み込んでるゼーっていう、
自己顕示欲旺盛な人たち同士の会話で、
初心者置いてけぼりなふいんきが
感じられる。



241 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 15:22:32.62 ]
>>237
C#で済むプログラムしか作らないなら黙ってC#使えばいいんだよ
お前がこのスレに居ることが全くの無駄

242 名前:デフォルトの名無しさん mailto:sage [2013/05/18(土) 15:32:38.93 ]
>C#で済む
この言い回しが勘違いも甚だしい。
「CはC#よりすごいんだ!」的な
自分の中で自分の価値を高めようと
必死なのがよくわかる。

243 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 00:45:26.82 ]
Cのが速いんだから当たり前

244 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 00:52:59.09 ]
.NET FrameworkのJITコンパイラの質がどんどん向上してスピードが上がってるんだが
セキュリティの更新だけだと思ってるのか?

245 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 00:59:54.36 ]
より低級な部分の処理には(ryですね、分かります

246 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 01:14:04.19 ]
そのうちアセンブラを追い越す性能になるかもなw

247 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 01:17:53.99 ]
>>246
アセンブラ直接弄ると、小数の丸め処理まで制御できるからな……
コンパイラがどこまで解釈できるかの勝負

248 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 01:41:00.42 ]
>>244
それでもC/C++に比べりゃゴミみたいなもんだよ

249 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 02:06:25.95 ]
書き手の技量次第でFAではあるが、平均的なプログラマを前提にすると
手書きアセンブラと今時のC/C++コンパイラってどっちが速いか微妙じゃね?

250 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 02:11:20.47 ]
アセンブラにしたって速度が要求されるコアな部分だけ使うのが
本来の使い方だからね。



251 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 02:17:33.53 ]
ぷっ

252 名前:デフォルトの名無しさん mailto:sage [2013/05/19(日) 05:05:15.33 ]
速度って言うけどさあ
細かい動的メモリ確保が
壊滅的におそいじゃんC/C++は。
そういうのを自前でメモリ管理すると
圧倒的に速くはなるんだが
VM系のnewの代替としては限界がある。






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

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

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