- 1 名前:デフォルトの名無しさん mailto:sage [2010/05/09(日) 10:31:46 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ スレを勃てるまでもないC/C++の質問はここで 4 pc11.2ch.net/test/read.cgi/tech/1221633708/ スレを勃てるまでもないC/C++の質問はここで 5 pc11.2ch.net/test/read.cgi/tech/1230516307/ スレを勃てるまでもないC/C++の質問はここで 6 pc11.2ch.net/test/read.cgi/tech/1231564903/ スレを勃てるまでもないC/C++の質問はここで 7 pc11.2ch.net/test/read.cgi/tech/1232983248/ スレを勃てるまでもないC/C++の質問はここで 8 pc12.2ch.net/test/read.cgi/tech/1235921779/ スレを勃てるまでもないC/C++の質問はここで 9 pc12.2ch.net/test/read.cgi/tech/1240022781/ スレを勃てるまでもないC/C++の質問はここで 10 pc12.2ch.net/test/read.cgi/tech/1242300936/ スレを勃てるまでもないC/C++の質問はここで 11 pc12.2ch.net/test/read.cgi/tech/1245059383/ スレを勃てるまでもないC/C++の質問はここで 12 pc12.2ch.net/test/read.cgi/tech/1248010352/ スレを勃てるまでもないC/C++の質問はここで 13 pc12.2ch.net/test/read.cgi/tech/1260842197/ スレを勃てるまでもないC/C++の質問はここで 14 pc12.2ch.net/test/read.cgi/tech/1269273471/
- 331 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:31:47 ]
- p,qが生ポインタでp == qで*p != *qって例えばどういうケースよ?現実的な事例を教えてくれ
- 332 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:32:55 ]
- メモリマップトI/Oなんて、もちださないでくれよ。
- 333 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:33:10 ]
- ポインターの値が同じでも実体の値が違う
ってどんな用途に使うスマートポインタなんでしょうか? 気になる
- 334 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:47:13 ]
- >>331
PODでなければ普通に起こるだろ。
- 335 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:49:35 ]
- >>331
それが保証されるのはCに限った話、C++は違うね
- 336 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 11:51:56 ]
- 保証されるとかじゃなくて、現実的な話として、そういう設計の有益なクラスを例示してくれって言ってるの
- 337 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:03:17 ]
- >>336
例えばベースクラスが共通(またはどちらかがベースクラス)で、 片方への cast operator が定義されている場合とか こういうコード普通に沢山存在してるだろ 有益かどうかはお前のさじ加減だし
- 338 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:19:45 ]
- p==qの時点でp,qの型は同じ
参照はがしても同じ型で比較されるだけだからキャストは関係ないだろ
- 339 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:21:59 ]
- >>337 あたまがわるいので、例が思いつかない。 具体例を教えてください。
class B { int x; }; class C { int y; }; class D : public B, C { int z; }; int main() { D* p = new D(); B* q = p; printf("p == q => %d\n", p == q); printf("*p == *q => %d\n", *p == *q); } D に、どんな演算子を定義すればいいんですか?
- 340 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:28:41 ]
- みなさんが当たり前のように言ってるC++なら違うっていうのは
!=のおかしなオーバーロードのことでいいんでしょうか? なんだか!=が真になるのが普通にあることみたいにいわれてるようなので ひょっとしてこれではないのでしょうか? あと>>334はPODって言ってますが組み込み型の間違いであっていますか? PODの構造体は比較演算子が使えないですよね?
- 341 名前:339 mailto:sage [2010/06/03(木) 12:29:06 ]
- operator == を再定義するのは反則だよねえ?
#include <stdio.h> class B { int x; }; class D : public B { int y; }; bool operator==(const D&, const B&) { return false; } int main() { D* p = new D(); B* q = p; printf("p == q => %d\n", p == q); printf("*p == *q => %d\n", *p == *q); }
- 342 名前:339 mailto:sage [2010/06/03(木) 12:31:53 ]
- >ポインターの値が同じでも実体の値が違うことがある
operator == を再定義したら、「実体の値が違う」ことにはならないか。
- 343 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:35:37 ]
- >>319 == >>329
>>318 はどちらにしろ間違ってるんで、いち抜けする。 if p == q はダメだろう。
- 344 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:41:23 ]
- >>343
>>318 のどこが間違っているって?
- 345 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:42:26 ]
- if p == q はダメだろう。
- 346 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:43:41 ]
- (1) p と q が別のオブジェクトを指していて
(2) p == q で (3) *p と *q の実体が違う ということはありえないで、ファイナルアンサー?
- 347 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:45:24 ]
- p==qかつ*p!=*qなんて非常識なケースが普通に沢山あるようなコードを自信満々に書いちゃう>>337は別業種への転職をおすすめする
そうなるように書くことはできるが、副作用も含めてそうならないようにコードを書くのが当たり前の感覚
- 348 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:47:56 ]
- >>307 に答えだしたら
p=123456; q=123456; if p == q はダメだろう。
- 349 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:49:49 ]
- >>348 どこがダメ?
- 350 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:51:27 ]
- >>348 無効なポインタを渡したときに、アクセス違反が発生しないからダメとかつまんないこといってんじゃないよね?
- 351 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:51:41 ]
- >>349
自分で適当なアドレス突っ込んだ場合、 「参照剥がしして〜」 の条件に合わなくなる(参照はがせない) って言ってるんだろ? アホかと思うがwwwww
- 352 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:53:34 ]
- 普通にやってて自分でアドレス突っ込んじゃうような子がいたら消費者に訴えられるレベル
- 353 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 12:58:58 ]
- >>338
これが違う p と q が同じ型だとはどこにも書いてないだろ
- 354 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:01:28 ]
- >>353
違う方じゃコンパイルエラーだろ
- 355 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:02:35 ]
- >>339
operator B(); というメソッド。
- 356 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:03:16 ]
- >>354
だからベースクラスが共通な場合って言ってるだろ
- 357 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:03:29 ]
- アップキャストはされるんじゃね
- 358 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:06:31 ]
- >>356
共通でなくどっちかがベースクラスの場合だね
- 359 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:07:11 ]
- >>356
codepad.org/q3SbZGSj 同じでもエラーだよ
- 360 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:12:31 ]
- p と q が別の実体を指しているのに、 p == q にするコードなんて書けないよ。
- 361 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:12:40 ]
- pとqは違うクラスです、とか、もう無茶苦茶
何考えてんだか… だったらC++と言わず char *p; long *q; でもいいわけでね…
- 362 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:15:18 ]
- >>361
>pとqは違うクラスです、とか、もう無茶苦茶 どっから同じクラスだって前提が出てきたんだ。 君の思い込みだろ?
- 363 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:15:30 ]
- >>318 がダメって言ってる奴って、ひとりだけ?
- 364 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:17:35 ]
- >>362 ばかばかしい。
次は、「釣りでした」とか「何あつくなってんの」とかかよ。
- 365 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:17:44 ]
- ひとりだけ
- 366 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:22:16 ]
- >>364
実務だと仕様書とか解釈が厳格になるからね 型が同じと書かれていないのに、勝手にそういう前提をおいたりしないんだよ まぁ趣味の人にはわからない話かもしれないけどね
- 367 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:23:21 ]
- 2chまできてお仕事ご苦労様です^^;
- 368 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:26:52 ]
- そうそう、ここは趣味の範囲だから実務の話されても困るわ。
- 369 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:45:09 ]
- C /C++という前提において仮定が無ければ、一般の場合を適合するのが普通じゃないか?
>>366は特殊な場合のみいってるよね。
- 370 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:54:55 ]
- >>307を見て、同じ型へのポインタじゃないと思えるほうが不思議
- 371 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:57:22 ]
- それはただの思い込み。
- 372 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 13:58:57 ]
- >>369 >>370
だから、趣味ならそれでいいんじゃない、大体動けばOK でも仕事なら動かない場合とかあったら問題になる だから最初から色んなケースを想定する そういう習慣がついてんだよ
- 373 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:01:02 ]
- >>372
繰り返すが、ここは趣味のスレ、お前は場違い、出て行け。
- 374 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:01:02 ]
- 仕事なら仕様を聞くだけで、余計な想像なんて入り込む余地はないだろw
- 375 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:04:46 ]
- >>374
ん? 最初の質問で p と q が同じ型だと書いてなかったら、 俺は同じ型でない場合も想定してただけだよ。 仕事でこういう場合に、勝手に同じ型だけしかありえんだろうって考えで コードを書いたらとんでもないバクを生むことになるから。
- 376 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:07:11 ]
- 屁理屈はお上手ですね。
- 377 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:09:52 ]
- どう見てもただの後付けw
- 378 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:10:11 ]
- いくら正論言おうと空気読めない奴が何をいっても無駄。
- 379 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:10:42 ]
- 実務でもありえないような数値入力して、
プログラムが暴走して損害だしても、それは入力したユーザのせいになるよ。 プログラマがそんな細かいことまで考える義務はない。 プログラマの前提が優先されるからね。
- 380 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:12:47 ]
- >>375
お前以外の99人はpとqは同じ方という前提なんだよ その時点でお前がまちがってるということ
- 381 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:14:25 ]
- 民主主義の国は何もかも多数決で決められる、
それがいやなら北朝鮮でもジンバブエでも好きなところいけ。
- 382 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:16:17 ]
- p=qなら常に*p=*qは成り立つ、これが常識
そうならないケースを考える馬鹿が一人いるってこと そして沢山の人から非難をあびている
- 383 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:20:45 ]
- p=q;
をみて /* p=q; */ まで仮定しないといけなくなるな。
- 384 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:23:50 ]
- 仮定を排除してまずコンパイラが仕様通りでバグが無いか確かめます
- 385 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:26:57 ]
- パソコンにコンセントが刺さっているか調べます。
- 386 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:27:49 ]
- 自分が仮想現実の住民でないか確かめます
- 387 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:32:58 ]
- 例外的な可能性を考慮してダメだししたって言うには、
指摘の時点でそれを言ってないとダメ。
- 388 名前:デフォルトの名無しさん [2010/06/03(木) 14:37:51 ]
- 教えてください。
クラス foo と bar を用意したとします。 bar は foo 1つにつき1インスタンス必要なので、foo のコンストラクタで bar のインスタンスを作ってます。 ただ、bar は foo の情報を元に処理するので、bar のインスタンスを作る際の引数に、this (foo) を渡そうと思いました。 要するに、相互参照です。 foo.h と bar.h とした場合、include 順の指定がうまく行かずこまっています。 これは、この設計が誤っていますか? ヘッダファイルや宣言の記述に細工が必要ですか? 正しい考え方や、記述の仕方を教えてください。
- 389 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:38:09 ]
- 馬鹿なレスが多いんで見落としてた
>>347 俺も基本的にそういう考えだよ。別に俺がそう書きたいというわけでなく、 p==qかつ*p!=*q は存在しないということに対して、存在する場合もあると言っただけだよ。 そもそも cast operator を定義する時点で怪しいコードになってくる。 けどその有用性を利用しているコードも存在している。 だから、その性質を理解しておくのは必要なことだと思っている。 例えば行列を表すクラス A があって、 それを拡張してインバース属性を持つクラス B 作るとする。 このときに B には opertore A() を用意しておき、 インバース属性が立っていれば逆行列を返すようにするとか そうすると A を使用していたコードがそのまま使える。 こういう手法を使うことはよくあるだろ。(少なくとも使ってる奴がいるだろう。)
- 390 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:41:49 ]
- ウザイ
- 391 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:43:12 ]
- ここまで来ると哀れだなw
- 392 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:43:51 ]
- >>388
'foo.h' で class bar; class foo { ..... }; のように、空のクラス宣言をしてやれば回避できる場合もある。 これでいけるかどうかは相互参照の内容次第。
- 393 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:44:31 ]
- >>389
死ねばいいのに
- 394 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 14:51:43 ]
- >>388
インナークラスとして、一つのヘッダーにまとめてしまうとか class foo { class bar { ・・・・ }; ・・・・ };
- 395 名前:388 [2010/06/03(木) 14:54:43 ]
- なるほど、空クラスですね。
やってみたのですが、やっぱり仰るとおり相互参照次第で、コンストラクタに this を渡したい場合はそれ相応の宣言が必要でした。 この考え方(構成)が間違っているという事ですかね。。
- 396 名前:388 mailto:sage [2010/06/03(木) 14:56:04 ]
- >>394
なるほど!!! 為してみます。 インナークラスかぁ。勉強になります。
- 397 名前:デフォルトの名無しさん [2010/06/03(木) 19:50:52 ]
- 質問です。
例文 int a; printf("値をいれてください:"); scanf("%d",&a); if(a<0&&a<9) { printf("値が違います!!"); } とこういう文があったとして、aにたとえば10を入力するとエラーメッセージを出してもう一度 入力させる処理に戻りたいんですがなにを付け加えればいいですか?
- 398 名前:デフォルトの名無しさん [2010/06/03(木) 19:55:37 ]
- do while
- 399 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:01:53 ]
- while(1) {
printf("値をいれてください:"); scanf("%d",&a); if(0<=a && a<=9) break; printf("値が違います!!"); }
- 400 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:03:24 ]
- int a;
INPUT: printf("値をいれてください:"); scanf("%d",&a); if(a<0&&a<9) { printf("値が違います!!"); goto INPUT; }
- 401 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:22:20 ]
- int a;
do { printf("値をいれてください:"); scanf("%d",&a); if (a < 0 && a < 9) { printf("値が違います!!"); } else {
- 402 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:23:25 ]
- 途中送信しちゃった
ごめんね break; } while (true);
- 403 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 20:56:54 ]
- >>398-402
たくさん回答ありがとうございます。gotoが一番簡単そうですね、勉強になりました。
- 404 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 21:56:15 ]
- >>403
こうする手もある int a; while (!Input(&a)) { } int Input(int* p) { printf("値をいれてください:"); scanf("%d", p); if(*p<0&&9<*p) { printf("値が違います!!"); return 0; } return 1; }
- 405 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 22:07:46 ]
- gotoは推奨されていない
- 406 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 22:13:42 ]
- それは思考放棄
gotoを使ったほうがやりたい事を的確に表現している場合はgotoを使うほうが良い
- 407 名前:デフォルトの名無しさん mailto:sage [2010/06/03(木) 22:39:28 ]
- まぁgoto使った方が便利な時もあるけど
あんまり>>397の質問のレベル的にgotoを 使う癖は付けない方が良いと思う。
- 408 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 00:47:02 ]
- Cで無限大を表記するにはどうすればいい?
- 409 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 00:56:58 ]
- +inf
-inf
- 410 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 00:57:59 ]
- って処理系依存だっけ?
- 411 名前:408 mailto:sage [2010/06/04(金) 01:10:36 ]
- ごめんなさい説明不足がありました
今xy軸上に三角形を作るプログラムをやっていて3点を直線で結び出来上がる三角形があるとして ある線が傾き無限の直線になったとき三角形が描けなくなります。※2点のx座標が等しい場合 それで無限になったとき(yの変化量/0)になったら回避したいので質問させていただきました
- 412 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 02:00:07 ]
- 傾きを計算する前に判断しようぜ
- 413 名前:デフォルトの名無しさん [2010/06/04(金) 02:51:47 ]
- 今xy平面に三角形を作るプログラム作成に取り組んでいて3点を線分で結び出来上がる三角形があるとして
ある線分の傾きが無限になったとき三角形が描けなくなります。※2点のx座標が等しい場合 それで無限になったとき(yの変化量/0)になったら回避したいので質問させていただきました
- 414 名前:デフォルトの名無しさん [2010/06/04(金) 02:53:44 ]
- 3点A(1, 0) B(1, 1) C(0, 1) で、AとBのx座標が等しいが、三角形ABCは書ける。
三角形がかけないのは、3点が同一直線上にある場合。
- 415 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 05:51:03 ]
- >※2点のx座標が等しい場合
なぜこれで判定しない?
- 416 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 11:20:49 ]
- 参照を後からセットすることはできませんか?
Class B; Class A { B& m_b; }; のような状態で m_b をコンストラクトより後のタイミングでセットしたいのです。 ポインタにすればできますが * を付ける必要があるので、参照でやりたいんです。
- 417 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 11:42:50 ]
- 無理。
生ポインタ弄るのが嫌な場合はboost::reference_wrapper的なのを使えばいいが、 operator* 等を使うのが嫌という要求は言語仕様の埒外。
- 418 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 12:06:35 ]
- 無理やりやったりして
codepad.org/7goDNgTH 保証されてないよね
- 419 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 12:21:40 ]
- >>417
>operator* 等を使うのが嫌という要求は言語仕様の埒外。 参照ってそういう機能だろ、問題はセットできるのが初期化時に限られてるということ
- 420 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 13:13:31 ]
- 問題というより安全性の確保だろ。
いつのまにかぬるぽになってたりしないように。
- 421 名前:デフォルトの名無しさん mailto:sage [2010/06/04(金) 15:13:51 ]
- >>418
LLP64だと悲惨な事になりそうだな
- 422 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 09:42:28 ]
- ポインタも参照もほとんどの実装では中身は同じだろうから
LLP64とかは関係ないと思われる もちろん規格は保証してくれないが ダミー変数の必要のない方法 ttp://codepad.org/h1sj56ka もちろん実際に使っちゃだめだよ
- 423 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 10:47:02 ]
- get()メソッドで妥協していいならboost::optional<T &>だな
int x, y; boost::optional<int &> opt(x); opt.get() = 1; // x = 1 opt = y; // yに張替え *opt = 2; // y = 2
- 424 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 10:48:23 ]
- *でも面倒くさいと言ってんのに.get()はないわ
- 425 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 10:58:50 ]
- じゃあどうしようも無いな
operator . がオーバーロードできない時点で参照剥がしの手間はかならず必要になる 代入と暗黙変換はその限りではないが
- 426 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:05:40 ]
- unionに参照は入れられないか・・・
- 427 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:26:35 ]
- LZ77で圧縮したデータを解凍するソースを書いて欲しいと言われたんだが
圧縮情報を表す箇所って、規定無いよね? abcdeabcdezをLZ77に掛けると、abcde[5,5]zとなるけど [5,5]を判断する場合どうすれば良いの? 圧縮側もこちらで書いていいなら\\[5,5]とか目印入れれば分かるけど 解凍ソースのみで困ってる
- 428 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:40:52 ]
- 解凍ソースあるならいればいいじゃん
- 429 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 11:51:35 ]
- >>428
ソースは一切なし。圧縮したデータを見ることもまだ出来ない それでいて、最初のLZ77を使ってるからと言われ きちんと解凍出来るソースを書かなきゃいけないみたい 調べると、何処のサンプルも圧縮情報の前に適当なマーク入れたり 9bitにして、その後ろが圧縮情報か見たりしてるから、一発で動くのが書ける気がしない
- 430 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 12:00:37 ]
- LZ77の仕様書よめばどう扱ってるか解るんじゃね?
- 431 名前:デフォルトの名無しさん mailto:sage [2010/06/05(土) 13:48:25 ]
- 亜種が大量にあるとかいう話だけど
|

|