C++相談室 part134

■ このスレッドは過去ログ倉庫に格納されています
2018/01/20(土) 09:05:42.21ID:mJKRg6iz0
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part133
http://mevius.5ch.net/test/read.cgi/tech/1511509970/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2018/03/14(水) 12:06:59.05ID:L/3+Hz1H0
>>609
じゃあオマエ、構造化もしてないのか?
昭和時代ほど耳にしなくなっても廃れたのではない話は結構あるぞ
2018/03/14(水) 13:01:38.98ID:MwJCRjiPd
>>611
怒られたという程じゃなくて、
 一日の秒数 = 86400;
と書いたら「マジックナンバーやめろ」と言われたってことさ
2018/03/14(水) 13:18:59.19ID:eC4PF2tM0
わかりきった定数はマジックナンバーではない
2018/03/14(水) 14:08:58.84ID:IrrOEbi1d
>>613
それをヘッダに移動させるだけやん
2018/03/14(水) 14:14:27.78ID:MwJCRjiPd
>>615
そうじゃなくて
60*60*24 て書いて欲しいんだってさー
2018/03/14(水) 14:16:09.81ID:2oR7xNCJ0
>>616
まぁ可読性高くて損する事は無いし、なるべく要素は分解して書いた方がいいんじゃないの
何かどうしても86400じゃなきゃ困る理由とかあるなら話は別だろうけど、無いだろ?
2018/03/14(水) 14:34:38.65ID:IrrOEbi1d
>>616
クソどうでもいいな
2018/03/14(水) 15:05:38.89ID:hFOwW8jGM
ITのエンジニアって
こういうくだらないことで
給料貰ってるんだろうなあ
2018/03/14(水) 15:18:02.33ID:xovkfTzX0
こういうクソみたいなことでもウンチク垂れてテコ入れしろと提案することにより仕事してます感かもし出す為だろうな
2018/03/14(水) 15:45:56.81ID:L/3+Hz1H0
>>619
結果のわからない投機的な模索をしているときは
逆にマジックナンバー地獄なコードだよ
他人に渡すコードを清書するときの書き方・考え方とは真逆
622デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
垢版 |
2018/03/14(水) 16:27:34.05ID:9D6+Eo6Z0
俺がわかるからみんなわかるだろうというコードはすげー困るな
例えその場の全員がわかったとしても今後わからない奴が出てきた時の事を考えて
できうるかぎりわかりやすいコードを書くべきだな
2018/03/14(水) 17:02:40.84ID:L/3+Hz1H0
そのためのコストにもよる
空想論じみた「わかりやすさ」にまで付き合ってらんないこともある
特に最低限のプロとしてのスキルを欠く者を想定することはしない

ちょっと飛躍するがプログラム言語だってそうなっている
マシンの性能を使いやすさに振るということを無限にはやらない
どのくらいのアホまで付き合ってやるのか性能とのトレードオフで
色んなバランスで棲み分けになっている
2018/03/14(水) 17:03:50.56ID:2oR7xNCJ0
まぁ別に自分だけが使う分にはいくら分かりづらく書いてくれても構わんけどな
625デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
垢版 |
2018/03/14(水) 17:11:14.36ID:9D6+Eo6Z0
86400を60*60*24と書くことにはなんのコストも支払ってないから書けばいいな
いちいち話を飛躍させる奴はなんなんだ
2018/03/14(水) 17:20:37.67ID:I+60yKfra
人によっては>>599みたいにしろって言うだろうし
結局は人それぞれってことじゃないの

16を2*2*2*2っていちいち書く人はいないでしょ
まぁ1<<4って書けと言われるかもしれんが
2018/03/14(水) 17:21:05.80ID:jowRUKsS0
学校の試験問題で一日の秒数としてソースに86400を書いたら
マジックナンバーだからと減点された、納得いかない。
みたいな発端じゃないのかなぁ。
2018/03/14(水) 17:22:38.07ID:L/3+Hz1H0
それをfindとsedでやる勇気あるか?

たとえば俺なんかは1箇所ずつよく見て有機的に判断しないと怖いし
それの残業代は貰えるのか心配だ
629デフォルトの名無しさん (ワッチョイ fb7f-uQtz)
垢版 |
2018/03/14(水) 17:51:03.64ID:9D6+Eo6Z0
当然その程度のリファクタリングはするべきだしそもそもマジックナンバーをどうにかするべきだし
お前の残業代とかいう飛躍した話はどうでもいい
2018/03/14(水) 18:19:55.18ID:L/3+Hz1H0
飛躍じゃねえ実話だよ

ずいぶん昔、社内BBSでそれ系のことを言い出したやつが
偉い人から突っ込まれてた
2018/03/14(水) 18:35:58.25ID:MwJCRjiPd
プロとか言い出してる人がいるけど、それこそ飛躍では?
2018/03/14(水) 18:40:08.58ID:y6ADsCAy0
プログラムの話題から外れてきていると思いませんか?
2018/03/14(水) 18:48:14.13ID:uMO7yRavM
>>614
だからわかりきってるかどうかは人によって違うって話
プログラムの前に日本語の勉強しろよ w
2018/03/14(水) 18:48:33.76ID:2oR7xNCJ0
まぁコスト次第で可読性を犠牲にするケースもあるだろうけど
この場合はメモリ食う訳でも処理遅くなる訳でもソースの構造が変わる訳でもない
86400でも十分分かりやすいかも知れんが60*60*24なら更に分かりやすくなる

どっちが良いかなんて議論の余地無いよね
2018/03/14(水) 18:50:15.11ID:L/3+Hz1H0
>>631
別にプロでなくてもいいんだけどさ
おまえさんなりに、同じプロジェクトにいて欲しくない足手まといが
どのくらいから下というのはあるだろ
2018/03/14(水) 18:54:56.26ID:uMO7yRavM
>>626
> 16を2*2*2*2っていちいち書く人はいないでしょ
> まぁ1<<4って書けと言われるかもしれんが
状況次第だろ
場合分けの条件が4個あって各々2状態をとるとかなら2*2*2*2って書くかもしれない
下から4ビット目のマスクが欲しいなら1<<4って書くこともある
2018/03/14(水) 18:58:33.90ID:2oR7xNCJ0
>>636
ビットフィールド使えば?
2018/03/14(水) 19:09:24.20ID:L/3+Hz1H0
シフト使うな、ビットフィールドで書け
なんて言われると、俺は相手にもよるが逆らいそう
2018/03/14(水) 19:37:46.29ID:uMO7yRavM
>>637
ビットフィールドは割り付け順序が処理系定義だったりしたからあまり使ったことがない
2018/03/14(水) 21:26:40.49ID:kWAHqA+uM
たまには2進リテラルちゃんのことも思い出してあげてください
2018/03/15(木) 06:36:14.64ID:F+InEeO+0
議論の本筋(1日の秒数として即値で86400と書くことの是非)とはさらに離れるけど、
ビットシフトを使う定数は常にカッコで囲んでくれ。

res = a + 1<<4 + b;
res = a +(1<<4)+ b;
642デフォルトの名無しさん
垢版 |
2018/03/15(木) 07:15:43.22
>>641
3つ以上の項があると静的解析ツールで怒られるから
res = (a +(1<<4))+ b;
と書く
2018/03/15(木) 08:58:15.76ID:x1WHRaDf0
>>641
下のつもりで上書いたらただのバグじゃん
2018/03/15(木) 09:19:10.68ID:3Ym40JOm0
算術と混用するときは結合順位に注意せよ、というだけのことを
いちいち必ずだ!ルールだ!と金切り声で吠えついてくるやつはウザい
2018/03/15(木) 09:55:31.41ID:LkpAylTJM
>>642
可読性悪くしてかえって品質低下招きそうな指摘だな
2018/03/15(木) 13:29:47.33ID:O2sRH7tT0
vectorをつなげる際、copyが良いとか、insertを使えとか色々書いてあるのですが、どれが良いのでしょうか?
2018/03/15(木) 13:54:37.80ID:XNo6/02A0
あらかじめ領域を広げておく必要があるけどinsertの方がチェックが入らない分速い
2018/03/15(木) 15:23:48.90ID:9f/t5+6G0
reserveしてinsertだな
2018/03/15(木) 15:36:42.69ID:q9z+dA6Ga
insertの直前にreserveって意味あるのか?
2018/03/15(木) 16:32:16.09ID:XNo6/02A0
reserveは終端のポインタが更新されないからresizeじゃないとだめ
2018/03/15(木) 16:57:46.96ID:R5/WYUtW0
reserveしてback_inserterでcopy
2018/03/15(木) 17:05:27.14ID:QEAEy0DH0
>>648
insertはサイズチェックしてるでしょ。
>>649
iteratorを2つ受け取るタイプのinsertなら意味あるんじゃね?
>>650
resizeは不味いだろ。
2018/03/15(木) 17:09:09.32ID:QEAEy0DH0
>>652
アンカしくった。
サイズチェックの指摘は>>647向け
2018/03/15(木) 17:21:30.23ID:XNo6/02A0
ごめんinsertとcopy逆だった
2018/03/15(木) 17:28:15.72ID:q9z+dA6Ga
>>652
insertの中で追加数数えてreserveと同じことしてるでしょ
まさかループで一個ずつ挿入なんて実装はあるまい
2018/03/15(木) 19:10:49.64ID:QEAEy0DH0
>>655
失礼。挿入位置のiteratorもあるから、3つ受け取るタイプの誤り。
657デフォルトの名無しさん (アウアウウー Saaf-0FUd)
垢版 |
2018/03/15(木) 22:07:51.82ID:dQGk6ayHa
cpprefjpの任意の式によるSFINAEの頁でdecltype(a + b, bool())と記載されているコードがあるんだけれど、
このa+b, bool()はラムダ式?

該当頁
https://cpprefjp.github.io/lang/cpp11/range_based_for.html
658デフォルトの名無しさん (アウアウウー Saaf-0FUd)
垢版 |
2018/03/15(木) 22:09:23.09ID:dQGk6ayHa
アドレス間違えた
https://cpprefjp.github.io/lang/cpp11/sfinae_expressions.html
2018/03/15(木) 22:15:55.91ID:3Ym40JOm0
ラムダ式が[で始まらないことってあるのか?
2018/03/15(木) 22:41:44.53ID:ubsUN4Yb0
>>657
カンマ演算子とdecltypeでコンパイル時に評価される
decltypeの中身を左から順に評価し、結果は一番右の型が帰る
この場合はa+bの型が評価出来ればbool、できなければSFINAE
2018/03/15(木) 22:41:47.80ID:XNo6/02A0
>>657
>a + b
a + bが可能かどうか調べる

>,
次の式を評価する

>bool()
bool型の初期値を返す

つまりdecltype(a + b, bool())はa + bでSFINAEをしつつカンマ演算子でdecltypeにbool型の値を与えて返り値の型をbool型にしている
662デフォルトの名無しさん (アウアウウー Saaf-0FUd)
垢版 |
2018/03/15(木) 22:57:18.20ID:dQGk6ayHa
decltypeで,も使えたんですね。一番右の型が帰るということはdecltype(a+b,a-b,a*b,a/b,bool())とかしてもよさそう。。。

自分ではその機能を説明してるページを見つけれませんでした。
ありがとうございます。
2018/03/15(木) 23:50:51.42ID:VBbQqJBt0
>>660-661
それで良いのか。 いいこと知った。
いちいち enable_if をしとったわ。
2018/03/16(金) 07:54:12.89ID:UGENGinrd
decltypeって実行時の型を得れる?
2018/03/16(金) 09:23:42.20ID:Qbg0TjKpa
>>656
a.reserve(a.size()+b.size());
a.insert(a.end(),b.begin(),b.end());
こんな感じのことをやるのかと思ったんだけど、これ意味ないでしょ?
2018/03/16(金) 10:04:08.28ID:SYp9l/ZId
>>664
declとはdeclareの略であることを考えると
2018/03/16(金) 10:17:31.56ID:g2YO+i2m0
a.reserve(a.size()+b.size());
copy(b.begin(),b.end(),back_inserter(a));
2018/03/16(金) 15:36:10.69ID:0r9PteXTM
>>665
random iteratorの場合の特殊化実装がありました。ごめんなさい
2018/03/16(金) 18:08:23.55ID:Al45BtF0p
>>662
decltype comma trickでググれ
2018/03/16(金) 20:56:30.80ID:DBylbaSH0
まあoperator,()が定義されてるとまずいんだけどな
671デフォルトの名無しさん (アウアウアー Sa83-2N1f)
垢版 |
2018/03/19(月) 18:07:03.75ID:/U1oheuNa
インスタンスにdeleteかけたとき、メンバ変数が破壊されるのとデストラクタが実行されるのはどっちが先?
今書いてるコードがデストラクタでメンバ変数アクセスすると落ちることがあるから、破壊されるのが先なんだろうか?
2018/03/19(月) 18:15:15.06ID:RG1qd9Pc0
>>671
原則としては構築の逆順って覚えておくと間違えない。
2018/03/19(月) 18:33:44.24ID:lFWK67Qs0
>>671
delete this; とかしてませんか、これは基本的に避けたほうがいい
2018/03/19(月) 18:43:06.07ID:SpFx62hRd
>>673に同意。確保と破棄は生ポインタを触らずに自動化した方がいい。スマートポインタとかコンテナとか。
二回deleteを避けるためにポインタにNULLを代入する技もある。
675デフォルトの名無しさん (アウアウウー Saaf-0FUd)
垢版 |
2018/03/19(月) 21:03:24.06ID:kCg91IvDa
そろそろNULLは駆逐してnullptrに移行させたい
2018/03/19(月) 22:46:40.23ID:jnDGFLZz0
>今書いてるコードがデストラクタでメンバ変数アクセスすると落ちることがある
へ〜んなの
ていうかメモリを壊しているかすでにdeleteされた死骸を再deleteしてるとしか、

>二回deleteを避けるためにポインタにNULLを代入
OpenCVのC言語インターフェースのやつ、
2018/03/19(月) 22:57:33.17ID:cmSuhSLP0
C++勉強中の者です。
http://codepad.org/C8t9k4fD
ソース自体をプログラムに読み込ませると
#includ
で止まってしまいます。
Cのfgets()のようには使えないのでしょうか。
678デフォルトの名無しさん
垢版 |
2018/03/19(月) 23:06:01.35
>>677
According to the C++ reference
http://en.cppreference.com/w/cpp/io/basic_istream/getline
getline sets the ios::fail when count-1 characters have been extracted.
You would have to call filein.clear(); in between the getline() calls.
2018/03/19(月) 23:26:45.72ID:cmSuhSLP0
>>678
区切り文字を読まないとfail状態になってそれ以降は失敗し続けるので止まってしまうということですかね
2018/03/19(月) 23:27:24.60ID:jnDGFLZz0
std::getline()は読み込んだ文字列に改行文字を含めないから
行末まできちんと読んだのか
文字数カウントのせいで読み込みが行の途中でぶちきれたのか
直ちにはわからないといいうアホウな仕様
判別には結局std::basic_istream<T>::unget()の助けが要る

C++標準ライブラリのうちストリーム関連だけは腐っているからC言語のを使いなしゃれ

※ 個人の感想です
2018/03/19(月) 23:28:25.97ID:jnDGFLZz0
訂正
△: C++標準ライブラリのうちストリーム関連だけは腐っているからC言語のを使いなしゃれ
◎: C++標準ライブラリのうちストリーム関連だけは本当に腐っているからC言語のを使いなしゃれ
2018/03/20(火) 01:02:22.15ID:mI6/gPTY0
入出力はCもC++もクソまみれだからなぁ
ちょっとコンソール出力を整形しようとして、あの肥溜めのクソくだらない落とし穴地獄にいちいち付き合わされた結果
プログラミングそのものが嫌いになる人達が山のようにいるのが本当に残念だ
683デフォルトの名無しさん (ワッチョイ e19f-M10G)
垢版 |
2018/03/20(火) 01:12:22.56ID:PXcTmg8I0
いるか?
2018/03/20(火) 01:20:34.94ID:mI6/gPTY0
自分が知ってる昔はいっぱいいたけど
最近だとスクリプト言語から先に入るから減ってるのかね?
2018/03/20(火) 01:21:52.68ID:N1yoGURK0
オブジェクトの外部表現を型ごとに定義できる iostream は悪くない設計だと思うんだけどなぁ。
2018/03/20(火) 01:41:51.26ID:PjVFN34O0
ローカライズに向いてない。
打鍵数が倍増どころじゃない。

モダン言語はみなprintfライクだしねー
2018/03/20(火) 02:48:01.36ID:PXcTmg8I0
printf()は便利ではあるが桁を揃えて出す時に面倒になることもある。
特にこの頃は UTF-8 で漢字混ざりだと文字幅とバイト数または文字数が一致しない。
そもそもそんなものの一致をあてにすること自体が間違いかも知れないが、Unicode
には一応 HALF WIDTH, FULL WIDTH 等があるんだから何とかしてこれを生かした
フォーマッタが欲しいところではある。
688デフォルトの名無しさん (アウーイモ MMb3-2N1f)
垢版 |
2018/03/20(火) 06:49:53.60ID:eswqOupsM
>>672
>>673
あるクラスがあって、その中でスレッド立ててるの
それでクラスのデストラクタが呼ばれたら、メンバ変数のスレッドポインタをつかってスレッドcancel->joinってやろうとしてて
それでjoin呼ぶあたりで落ちるんだよね

作られた逆順ってことはデストラクタのほうが先に実行かな?それだとメンバ変数はいきてるよね
2018/03/20(火) 06:55:01.02ID:83N3dpVy0
streamはコンソールの入出力のためだけにあるわけじゃないから
2018/03/20(火) 06:55:05.50ID:Wsijl5j90
つーてもcoutだってsetw/setfillはあんまり使いやすくないしなあ
operator<<をユーザー定義できるのはありがたいけどね
2018/03/20(火) 13:10:27.33ID:geezFnQ40
>>688
デストラクタの実行中はそのクラスとその派生元クラスのメンバ変数はまだ使える
必ず落ちるならデバッガでバックトレース見てみたら?
2018/03/20(火) 19:32:56.49ID:mI6/gPTY0
別の原因に見える
まずデストラクタじゃなくて普通のメンバ関数で明示的に呼んで止めた時に大丈夫か確認してはどうか
2018/03/20(火) 19:45:17.42ID:KQMGt9+Dd
pthread_cancel はいろんなことがよく分かっている人しか使ってはいけない
2018/03/20(火) 22:33:41.91ID:f35CyiEk0
>>685
「<<」と「>>」の2種類しか用意できんやんけ
それらを表示と入力に割り当ててしまえば結局シリアライズのための固有なメソッドなりインターフェースなりを別途作らねばならんぬ、
そもそもの構想からして頓挫してゐる、
頓挫してゐるのだ…!
2018/03/20(火) 23:55:08.06ID:N1yoGURK0
>>694
表示用とシリアライズ用はストリームの性質で切り替える筋合いのものだろ?
シリアライズ用のストリーム型を用意してオーバーロードすればいいんじゃね。
2018/03/21(水) 00:33:52.80ID:7c9Ne47J0
ちょっなんで数億年の生物史史上はじめて
ようやっとSTDINとSTDOUTとSTDERRの3種類に世界が抽象化されたストリームという概念|を
細分化するという元の木阿弥にしますか;;

藻前は
  some_command | tee result.txt > some_file.bin
とかいったパイプやリダイレクトを表示専用とかシリアライズ専用とかに分けたいのかっていうか、
697デフォルトの名無しさん (ワッチョイ e17f-hKdO)
垢版 |
2018/03/21(水) 00:44:24.33ID:p0rFESlF0
なに藻前って
2018/03/21(水) 01:10:44.31ID:MouF+uE40
>>696
お前は何を言ってるんだ。
ここで言ってるストリームは C++ 用語のストリームだぞ。
「ストリーム『型』」ってわざわざ書いてるんだからわかれよ。
下位レイヤでは好きなところに繋げればいい。
2018/03/21(水) 01:18:27.48ID:9NBOfW2C0
streamとstreambufの違いを理解しよう
2018/03/21(水) 01:24:40.58ID:MouF+uE40
要するに std::basic_ostream を継承した何かを作ればいいんだ。
701デフォルトの名無しさん (ワッチョイ b180-lboF)
垢版 |
2018/03/21(水) 06:52:22.30ID:fTbDiwfs0
ストリームはもう捨てたほうが良いぞ。
おじさんからの警告だ。
2018/03/21(水) 07:14:12.04ID:2n7LolrI0
便利そうに見えて便利に使えない
それがstream
703デフォルトの名無しさん (ワッチョイ ebb6-CZ08)
垢版 |
2018/03/21(水) 07:18:35.01ID:zecIlzA/0
「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
日本ボードゲーム界の異端児に聞く!ボードゲームデザイナーとして生きていくには?
https://bodoge.hoobby.net/columns/00013
はじめてボードゲームを作ってはじめてゲームマーケットに出店した ので、ひとり反省会をしてみる。
http://datecocco.hatenablog.com/entry/2015/11/26/000000
はじめて作ったボードゲームを売った話
http://nrmgoraku.hateblo.jp/entry/2017/05/17/210000
ボードゲームイベント「ゲームマーケット」から業界が見えた!
https://entertainmentstation.jp/61107
ゲームマーケットに挑む人向けガイド
http://spa-game.com/?p=4830
ボードゲームはどう作るのか、自分なりに考えた
http://roy.hatenablog.com/entry/2014/07/09/124824
オトナも遊べるボードゲーム!自作するといくらになるのか
http://www.d-laboweb.jp/special/sp312/
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
2018/03/21(水) 10:36:30.48ID:DQv7yGEy0
>>696
カンブリア紀からオルドビス紀にかけて行われた抽象化は
今でいうインターフェイスの考え方で、当たり前だが
インターフェイスを継承する実装クラスは無数にあってよい
そういうのは元の木阿弥とは言わないぞ
2018/03/21(水) 15:09:48.71ID:MouF+uE40
>>696
さっき >>698 で説明した C++ の話題を置くとしても、
(まあ C++ スレで C++ の話題を置いちゃうのはどうかと思うが)
標準入力、標準出力、標準エラー出力のみっつしかないってことはない。

エラー出力をリダイレクトするときに 2> って書くの、どういう意味だと思ってる?
2 はファイルディスクリプタな。
デフォでオープンされてるのが 0, 1, 2 ってだけで、やりたければ 3 でも 4 でも使っていい。
2018/03/21(水) 15:42:02.21ID:ZGJmhAHm0
>>705
空いているディスクリプタが使用されるとしても、自分で特定の数字を指定してディスクリプタにすることはできなかったんじゃなかったかな?
2018/03/21(水) 15:50:19.07ID:ZGJmhAHm0
>>706
失礼、dup2() というのがあったね…
2018/03/21(水) 15:58:29.69ID:9NBOfW2C0
coutがSTDOUTにつながってるだけでここは何につなげてもいいということ
streambufの中身はただの配列でもいいし、アプリケーションのロガーでもいいし、循環バッファでもいいし、通信のポートでもいい
2018/03/21(水) 19:28:41.53ID:TV3lE0eZ0
シリアライズするときはバイナリ表現にしたいし
ログするときは文字列表記にしたいし
2018/03/21(水) 20:00:34.84ID:MouF+uE40
>>709
だからそれはストリームオブジェクトの型で切り替えろって言ってるんだろうが
2018/03/21(水) 20:30:34.07ID:VVSY5O5Ed
それを嫌だって言ってんだよ
バイナリの読み書きは write() だの read() で十分
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況