- 1 名前:デフォルトの名無しさん [2009/07/19(日) 22:32:32 ]
- スレを勃てるまでもない低俗な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/
- 307 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 20:20:52 ]
- 互換性って古めのコンパイラだと前者を配列の宣言に使用できないとかそういうこと?
- 308 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 22:27:30 ]
- いまさらenumハックを自信ありげに言われてもなあ
- 309 名前:302 mailto:sage [2009/08/09(日) 23:18:20 ]
- ありがとうございます。
enumハックで行かせていただきます。
- 310 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 23:40:46 ]
- よせ、あくまでハックはハックだ
正攻法には劣る
- 311 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 23:57:49 ]
- >>308
いくつかの環境で開発をしたことがあるなら当たり前の知識である enumハックのコードを見て、enumが何の略かなんて問うのもどうかと思うよねw
- 312 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 00:04:28 ]
- >>305
enumハックをしらないやつがなんでまた偉そうにw
- 313 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 00:06:07 ]
- >>310
劣るかなぁ?どう劣る? 読みづらいとか?
- 314 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 01:22:44 ]
- たびたびすみません、293です
296さんのサイトを見てみたのですが、どうやらこちらの説明不足だったようです 一つのチャンネルを4バイトで表したいのではなく、ピクセルそのものを4バイトで表したい つまり、cvCreateImage(cvSize(x, y), IPL_DEPTH_8U, 4); このようにしたかったのです それで実際に試してみたのですが、うまくいきません キャプチャを cvQueryFrame で行っているのですが、おそらくここでメモリを取り直されているのだと思います 実装部分を探して改良しようとも思ったのですが見つかりませんorz 半分スレ違いみたいな内容ですが、解決方法があったらご教授ください
- 315 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 01:55:20 ]
- >>314
Grabが3yte/pixelで行われる限り、一度は3byte/pixelから 4byte/pixelへの 拡張をしてやらないといけないと思うよ。 OpenCVでやるか(cvCopy?)、自前の関数でやるかは別として。
- 316 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 02:06:10 ]
- >>314
「cuda rgba」でググったらぴったりのものが出てきた。 wiki.livedoor.jp/mikk_ni3_92/d/OpenCV::RGBA%B2%E8%C1%FC%BA%EE%C0%AE
- 317 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 04:48:35 ]
- 生成と同時にコンストラクタに値を与えたいオブジェクトがあるので、
CTest* ctest[10]; for(int i=0;i<10;i++){ ctest[i] = new Ctest(); } と統一してるんですが、最初に要素数を決めなきゃいけないのと、 newとdeleteを使う分、かったるいので vector<CTest*> ctest; for(int i=0;i<10;i++){ ctest.push_back( ? ); } って風にしようとしてるんですが、ここで「?」になにも入れないと 「0個の引数は指定できない」と怒られます この場合「?」の部分はCTestコンストラクタに渡す引数になると思ってたんですが、 引数がない場合はどうすればいいでしょう? やはりnewとdeleteを使わなきゃいかんのでしょうか
- 318 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 05:46:18 ]
- vector<CTest*> ctest(10);
でいけたような。
- 319 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 06:17:46 ]
- >>317
CTest*のvectorでしょ push_backするのはCTest*じゃないの? ctest.push_back(new CTest()); とか ctest.push_back(NULL); とか・・・
- 320 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 07:05:40 ]
- ctest.push_back(new CTest());
とか ctest.push_back(NULL); とか ctest.resize(i+1); ctest[i] = new ctest(); とか試してみたけど、 error LNK2001: 外部シンボル "__CrtDbgReportW" は未解決です error LNK2019: 未解決の外部シンボル __CrtDbgReportW が 関数 "public: class Ctest * & __thiscall std::vector<class Ctest *,class std::allocator<class Ctest *> >::operator[](unsigned int)" (??A?$vector@PAVCtest@@V?$allocator@PAVCtest@@@std@@@std@@QAEAAPAVCtest@@I@Z) で参照されました。 Main.obj なにこれ(゜д゜)
- 321 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 07:59:13 ]
- 失礼、ランタイムライブラリをマルチスレッド(/MT)から
マルチスレッドデバッグ(/MTd)に変えたら解決しました。 理屈はわかりませんが・・・ CTest.push_back( new CTest(引数) ); でいけそうですが、この場合、指定のオブジェクトを破棄するとき deleteで指定のアドレスを破棄してから、vectorのポインタを破棄する、 というクドいコードになりますね・・・ かといって、vector<CTest>と、ポインタで持たずにnewを使わなければ 引数付きコンストラクタでの初期化がややこしくなりますし・・・ しかたないですかね
- 322 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 11:36:10 ]
- >>321
それは仕方がない。というかnewした以上、deleteするのは当たり前。 vectorにオブジェクトのポインタをプールするなんてまぁよく聞く話だし。 デストラクタに全要素deleteするコード書いとけ。
- 323 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 11:38:19 ]
- >>321
>引数付きコンストラクタでの初期化がややこしくなりますし・・・ そもそも、ここが判らん。
- 324 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 12:46:32 ]
- >>321
boost::ptr_vectorで解決
- 325 名前:293 mailto:sage [2009/08/10(月) 14:50:51 ]
- >>315
確かにキャプチャ部分がこうなっている以上コピーするしかないですよね Grabを自前で実装できればよいのですが、キャプチャ自体がどのように行われているかさえ まだ理解していないので当分コピーで済ませていこうと思います ありがとうございました >>316 このようなページを知らなかったとはまだまだ勉強不足のようですorz もうちょっと自分で調べてみようと思います ありがとうございました
- 326 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 15:59:01 ]
- >>321
それなら std::vector<boost::shared_ptr<CTest> > ctest; ctest.push_back(boost::shared_ptr<CTest>(new CTest())); コンパイルして書いてるわけじゃないから何か変だったら適当になおして
- 327 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 18:40:28 ]
- const char * const p= "有効な文字列p";
const char * const q= "有効な文字列q"; このようなpとqに格納されている文字列が等しいかどうかを調べる場合、 strcmp を使う方法と std::string(p)==q や std::string(p)==std::string(q) とする方法と、どちらが望ましいでしょうか?
- 328 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 19:14:12 ]
- そら、態々メモリ割り当てずに strcmp が速いでしょ。
- 329 名前:327 mailto:sage [2009/08/10(月) 19:17:27 ]
- >>328
ありがとうございます。
- 330 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 20:26:59 ]
- 男キャラを担当する女声優はわんさかいるけど、
女キャラを担当する男声優なんて聞いたことない
- 331 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 20:27:39 ]
- 超誤爆
- 332 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 20:36:20 ]
- どのスレだよw
- 333 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 21:40:42 ]
- class Aからclass Bへの暗黙の型変換が許されている状況で、
A hoge; として B piyo = hoge; B piyo(hoge); B piyo = (A)hoge; B piyo = static_cast<A>(hoge); これら4つは全く等価だと考えてよろしいですか?
- 334 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:27:55 ]
- 少なくとも一番目と二番目は全く違うような。
- 335 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:36:36 ]
- >>334
違いますか? どのあたりが違いますか?
- 336 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 02:15:35 ]
- 同じだよ。どれもコピーコンストラクタが呼ばれる。
ときおり初心者が1番目の式を代入と勘違いするけど 普通の教科書にはそれは代入じゃねぇンだよって説明が書いてあるので それを知らないのは教科書をよく読んでいない証拠。 もし書いてないなら、その教科書は資源ごみにでも出したほうがいい。
- 337 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 05:33:53 ]
- すんごい初歩的な質問だと思うんですけど、
deleteで解放をし忘れしているプログラムを何度も動かした場合、 不要なデータはPC上に残り続けるんでしょうか? 溜まったそれらのデータをなんとか解放、削除したい場合は どうすればいいんでしょ?
- 338 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 06:04:39 ]
- 一度プログラムを終了させれば
まともなOSなら deleteしていなくても問題ない。 少なくとも、普通の方法で確保したメモリを プロセスが終了しても解放しないものはまず無い。 メモリ以外のリソースはそうでもない場合もある。
- 339 名前:337 mailto:sage [2009/08/11(火) 06:10:01 ]
- 多謝
- 340 名前:333 mailto:sage [2009/08/11(火) 10:32:22 ]
- >>336
やっぱり全く等価ですよね。 どうもありがとうございます。
- 341 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 10:37:12 ]
- explicitを付けて(1)を使えなくしてやるー
- 342 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 10:53:55 ]
- >>334
こいつ恥ずかしいなwww >>338 メモリ管理問題 ttp://kmaebashi.com/programmer/c_yota/malloc.html 熟読せよ
- 343 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:17:26 ]
- >>342
言いたいことがあるなら自分の言葉でどうぞ。
- 344 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:24:16 ]
- 共用体について質問です
union AB{ A a; B b; }; void init(union AB ab){ union AB ans; ans = ab; } void main(){ init( (A)10 ); // 10をA型にキャストして引数に与える init( (B)10 ); // 10をB型にキャストして引数に与える } ・・・このソースでなにがしたいかと言うと、 引数に与えた型を判別して、A型ならans.aに、B型ならans.bに 自動的に代入してほしいのです。 考え方が間違えてるのか「AからABに変換できません」とエラーが出ます この場合、どうしたらいいのでしょうか?
- 345 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:27:14 ]
- 共用体にA用とB用のコンストラクタを設ける
- 346 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:28:05 ]
- >>344
>引数に与えた型を判別して C++ でも使いましょう。
- 347 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:29:05 ]
- >>344
まて、その前にクラスはまともに使えるのか? 例えば >>333 この様なclass Aとclass Bを記述することは出来るだけの技量はある?
- 348 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:36:51 ]
- クラスは普通に使ってます。
というかこの質問が、同じクラスのメンバ変数が2タイプに分かれる場合があって、 2つ変数を設けて片方を空っぽにするのが気持ち悪いので、共用体を使おうとしてるのです (初期化関数を統一したいのもあります) ただ「共用体にコンストラクタを設ける」といわれるとなんのことやら・・・ 共用体がクラスのように扱える、ということでしょうか
- 349 名前:342 mailto:sage [2009/08/11(火) 11:39:39 ]
- >>343
こいつ(は無知なのに「全く違う」という強い否定を使い それが全くの初歩の話題であったことを知り) 恥ずかしい(とさぞかし思っているだろう)なwww で満足?
- 350 名前:343 mailto:sage [2009/08/11(火) 11:41:05 ]
- >>349
あ、いや、後段の方。
- 351 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:41:40 ]
- >>348
クラスと同じように共用体もコンストラクタやデストラクタを持てる union AB{ .... AB(A a){ this->a = a; } AB(B b){ this->b = b; } };
- 352 名前:347 mailto:sage [2009/08/11(火) 11:41:42 ]
- >>348
>クラスは普通に使ってます。 じゃあとりあえず、 自分のコードのunionになっている場所をclassに単純に書き換えて 実現してみてよ。 それがすぐ答えにつながる。
- 353 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:06:41 ]
- >>342
理屈上はそうかも知れんが、 free()しないとメモリを管理できてないような気がする。 特にdeleteしないとデストラクタがどう動くかよく分からん。
- 354 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:11:00 ]
- つーか、共用体にする意味があるのか?
気持ち悪いと言う理由だけでは意味がなさ過ぎる。 どちらかだけ有効だと言うのであれば、boost::optionalでも使って有効性をチェックすればいいだけの気もするが。
- 355 名前:342 mailto:sage [2009/08/11(火) 12:12:23 ]
- いや俺はfree()しないことに反対な人だから。
ただこういう意見な人も居るよっていいたかっただけだ。
- 356 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:12:23 ]
- >>353
deleteしなければデストラクタが動くわけないじゃん。 OSは、クラスの管理までしてくれるわけじゃないよ。
- 357 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:13:11 ]
- >>354
boost::optional の使いどころおかしくねぇか? valiantじゃなくて?
- 358 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:23:55 ]
- >>357
元質の趣旨が判らんから勝手に推測した。valiantを使うべきならそうしてくれ。
- 359 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 20:28:12 ]
- class hoge {
public: static fuga(); }; これって普通の関数と比べてなんかいいことあんの?
- 360 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 20:35:16 ]
- >>359
静的メンバ関数でググれ
- 361 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 20:38:17 ]
- >>359
1・それがいいか悪いかは別として、似たようなstatic関数が100個くらいあったとき まとめて他のクラスのfriendにできる 2・hogeのstaticじゃないprivateなメンバに触れる
- 362 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 20:55:02 ]
- あぁプライベートメンバに触れるのかそれは便利そうだ
二項演算しとかに使えそう
- 363 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 20:59:09 ]
- とおもったらオペレーターは静的にできなかった・・・
ぬかよろこびだったでござる
- 364 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 21:33:44 ]
- てか、コンストラクタをprivateにしてstaticなファクトリ作るくらいじゃない?
- 365 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 21:44:24 ]
- >>359
コールバック関数に使える。
- 366 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:04:07 ]
- ttp://codepad.org/84SNOtSp
の std::numeric_limits< double >::quiet_NaN()==std::numeric_limits< double >::quiet_NaN() の部分はfalseとなるようですが、 これは言語仕様そうなるものですか? それとも実装依存でしょうか?
- 367 名前:366 mailto:sage [2009/08/11(火) 22:05:34 ]
- なお、
g++, VC++2008に食わせた後実行したらttp://codepad.org/84SNOtSpと同じ結果でしたが、 bccに食わせた後実行したらその実行ファイルは不正終了しました。 > これは言語仕様そうなるものですか?
- 368 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:22:22 ]
- ttp://codepad.org/LEWBiHCD
VC++だと実行結果が100になる この記述でコピコンが呼ばれるかどうかは仕様で決まってないのかな
- 369 名前:367 mailto:sage [2009/08/11(火) 22:26:58 ]
- >>368
私の環境のg++ 4.4.0では100になりましたよ。 bcc 5.5.1でも100になりましたよ。 codepadが100にならないのは不思議ですね。
- 370 名前:デフォルトの名無しさん [2009/08/11(火) 22:33:58 ]
- >>342の知ったかバカ
>>337の質問が >deleteで解放をし忘れしているプログラムを何度も動かした場合、 >不要なデータはPC上に残り続けるんでしょうか? という内容で、 >>338の回答が >一度プログラムを終了させれば という、限定された条件なんだけど、わかってるのかね?
- 371 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:36:28 ]
- >>366
TがNaNである値nを持つとき、 型Tの値nがNaNである ⇔ すべてのTの値xに対してx ≠ nである ゆえにNaN ≠ NaNである quet_NaNは型がNaN値を持つとき、 LIA-1(ISO/IEC 10967-1)の要求を満たすとあるので(ISO/IEC 14882:1998 18.2.1.2.45) 恐らく規格準拠だと思うよ 詳しくはC++98とLIA-1をあたってくれ 多分NaNに関してはLIA-1に1段落目で書いたことのようなものが載ってる筈
- 372 名前:366 mailto:sage [2009/08/11(火) 22:39:12 ]
- >>371
ありがとうございます。 助かりました。
- 373 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 00:12:29 ]
- codepad.org/oRku7d6S
www1.axfc.net/uploader/Img/so/55595 二回目のバイナリ書き込みがなぜかテキスト書き込みになってしまいます なぜでしょう?
- 374 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 01:52:18 ]
- >>373
おおざっぱに言うと、式の中にcharが出てくるとint型に拡張される。「汎整数昇格」で検索すると解説が出てくるかも。 だから2回めの書き込みは、cout << (int)(ch * 2) と同じこと。
- 375 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 02:03:11 ]
- >>370
どうした? >>337 >>338 >>342の流れはfreeしなくていいよ派の滞りない流れではないか?
- 376 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 03:10:30 ]
- もしかして、単に優越感に浸りたいだけの基地外さん?
もしかして、単に優越感に浸りたいためだけに、自分に都合の良い解釈しかしない人?
- 377 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 03:19:45 ]
- バカは相手にすんな
- 378 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 03:41:01 ]
- >>375
342はfreeしろ派じゃねーの?
- 379 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 04:04:11 ]
- freeしろ派があのリンク先を持ってくるかなあ?
リンク先を見た上で、しかしこういう考えのもと、やはりfreeすべきだという内容がレスにあるわけでもないし
- 380 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 04:41:00 ]
- いい加減freeの話題で荒れるのは勘弁してくれないかな。
- 381 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 05:16:11 ]
- 今までの話を纏めると
結論:必ずfreeすべし
- 382 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 05:47:53 ]
- この話は明示的なメモリの解放を行うことができる言語がある限り繰り返されると思うよ
片手間で作ったちょっとしたツールでせっせと例外捕捉して必死でメモリ解放するとかやってられんしょ
- 383 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 09:44:43 ]
- >>374
その解釈はおかしい。 何故ならば、ch * 2が既にintだと言っているのだから(int)(ch * 2)は(int)(int)....(ch * 2)と言う位意味がない。 敢えてその顰に倣って書くのなら、(int)ch * 2と言った処だろう。
- 384 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 12:38:32 ]
- ていうかバイナリモードで開いてるのになんで文字としての数字が保存されてんの?
って聞きたかったんすけど・・・
- 385 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 12:40:27 ]
- >>384
std::cout << '0'としても、std::cout << 0としても出力が同じなのと同じ理由。 バイナリモードかどうかは全く関係ない。ついでに言えば、大抵のOSではテキストモードとバイナリモードの違いさえない。
- 386 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 12:45:57 ]
- テキストモードでオープンすると '\032' から先を読まない処理系が昔あったなあ。
- 387 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 16:59:09 ]
- class Hoge
{ operator double(){return 1.0;} }; というクラスがあるとき Hoge e; printf("%f\n", e ); と言うコードはコンパイルが通りますが、表示されるのは1.0ではありませんでした eは何型にキャストされてからprintfに渡されているんですか?
- 388 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:07:20 ]
- >>387
キャストされないで、Hogeのままスタックに詰まれる。 それみたいにメンバ変数のないクラスのでやるとどうなるかしらないけど。
- 389 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:10:58 ]
- 正確には、もうひとつのインスタンスが
(コピーコンストラクタを使って)スタック上に作られる、ってことだね。
- 390 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 17:27:39 ]
- >>388-389
ということは、やりたいようなことはたぶん出来ないんですね 面倒でも(double)eとするしかないと ありがとうございました
- 391 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 18:02:12 ]
- >>386
\032って何ですか?
- 392 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 18:14:04 ]
- >>391
Control-Z。MS-DOSやCP/MのEOF文字 CP/MというOSではファイルサイズを128の倍数でしか管理できなかったので、 データの最後にEOFをつける必要があった
- 393 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 18:29:35 ]
- >>384
じゃあ何が保存されればいいの?
- 394 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 19:00:57 ]
- >>392
ありがとうございます。
- 395 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 21:04:36 ]
- 安西先生、引き数と返り値の型も隠蔽したいです
- 396 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 22:00:45 ]
- c++で2重起動を防止する方法を教えてください。
環境linux+gccです
- 397 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 22:18:02 ]
- セマフォを使う
- 398 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 01:43:06 ]
- mutex
- 399 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 22:13:12 ]
- class hoge {
public: class foo {...}; foo fuga(); }; こんな場合って普通fooの定義は外にだすもん?
- 400 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 22:21:56 ]
- >>399
クラスのネストくらいふつーだと思う。
- 401 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 22:28:08 ]
- クラス内クラス定義はpimplイディオムなんかの時に普通につかうよ
- 402 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 22:30:13 ]
- >>401
- 403 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 22:45:43 ]
- >>399
そういうことをやり始めたあたりから楽しくなってくるんだぜ(笑)
- 404 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 23:10:16 ]
- 前スレで登場したテンプレートを
適当に貼り付けてみる。 template<typename T, std::size_t N> inline std::size_t numberof(T (&)[N]) {return N;} まだまだ納得できない俺がいる。
- 405 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 23:15:13 ]
- ray.sakura.ne.jp/template/ccgen.html
これのバブルソートのテンプレート化も面白いな
- 406 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 23:35:31 ]
- >汎用性の為に速度が犠牲になつてしまふことは、なんとしても避けなければならない。
執念が感じられるな(笑)
- 407 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 23:37:24 ]
- メンテ性悪すぎワラタ
|

|