- 1 名前:デフォルトの名無しさん [2011/09/15(木) 00:17:43.25 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ 01 pc11.2ch.net/test/read.cgi/tech/1167476845/ 02 pc11.2ch.net/test/read.cgi/tech/1178503366/ 03 pc11.2ch.net/test/read.cgi/tech/1187521676/ 04 pc11.2ch.net/test/read.cgi/tech/1221633708/ 05 pc11.2ch.net/test/read.cgi/tech/1230516307/ 06 pc11.2ch.net/test/read.cgi/tech/1231564903/ 07 pc11.2ch.net/test/read.cgi/tech/1232983248/ 08 pc12.2ch.net/test/read.cgi/tech/1235921779/ 09 pc12.2ch.net/test/read.cgi/tech/1240022781/ 10 pc12.2ch.net/test/read.cgi/tech/1242300936/ 11 pc12.2ch.net/test/read.cgi/tech/1245059383/ 12 pc12.2ch.net/test/read.cgi/tech/1248010352/ 13 pc12.2ch.net/test/read.cgi/tech/1260842197/ 14 pc12.2ch.net/test/read.cgi/tech/1269273471/ 15 pc12.2ch.net/test/read.cgi/tech/1273368706/ 16 hibari.2ch.net/test/read.cgi/tech/1279285647/ 17 hibari.2ch.net/test/read.cgi/tech/1285115590/ 18 hibari.2ch.net/test/read.cgi/tech/1291571263/ 19 hibari.2ch.net/test/read.cgi/tech/1308106024/
- 449 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 09:48:03.76 ]
- ああごめん、DBって書いてた
ターゲット(ボード)っていうより、core process か。
- 450 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 13:59:56.65 ]
- >>448-4449
ありがとう、ユーザーインターフェイス面はHTML5で作成してブラウザで賄うってことか それはかなり便利そう。だけど来月中旬には完成させたいので今からHTML5勉強して 実用域までもっていくのは辛いです。 .NETも調べてみたらこの目的だと辛そうだし、やっぱDirectXまたはOpenGLで作ってみる ことにします。後々のAndroidへの移植も考えてOpenGLでいこうかな
- 451 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 20:15:58.75 ]
- >>450
来月中旬までなら、丸々一週間は勉強する時間があるじゃないか。
- 452 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:38:46.40 ]
- HTML5は最たるものだが、legalにパクってこれるものは、パクっていい。
よさげなUIがあって、それが誰でも使っていいライブラリの仕事だったら、 あなたが使ってもいい。 DX/GLに、そんなパクりやすいライブラリあるのかな、と思うが、あるのかもしらん
- 453 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 20:02:39.02 ]
- スマポ(あるいは薄いラッパー系やプロクシ)作るときにoperator &はどう作るのが一般的なんだろうか
ラップしてる方のアドレスか、中身のアドレスか
- 454 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 20:19:14.58 ]
- すまぽを自作しようなんて思うなってばっちゃんが言ってた
# 覚悟を決めて、「車輪は一度は作って壊してみるもの」をやってみる。
- 455 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:30:42.65 ]
- >>454
確かに、研究や腕試しなら作ってみるのもいいけど実用ならそれなりにメジャーな出来合いのものを使うべきだな。 で >>453 > スマポ(あるいは薄いラッパー系やプロクシ)作るときにoperator &はどう作るのが一般的なんだろうか > ラップしてる方のアドレスか、中身のアドレスか 独自には作らずそのままスマポ自体のインスタンスのアドレスを取得させるのが普通。
- 456 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 15:55:45.10 ]
- int a[N] = { 1, 5, 0 , 3, ... } ;
//A vecor<int> v(a, a + N); //B vector<int> v; v.reserve(N); v.assign(a, a + N); AとBってどっちが速いですかね?
- 457 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 15:57:24.46 ]
- つ[実測]
- 458 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 16:06:46.17 ]
- 普通に考えたらAのほうがいいしBのreserveは不要
でもパフォーマンス問題は実測が基本
- 459 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:28:21.99 ]
- 初心者本読んでてわからない事が出たんで教えてくらはい
const char* name = GetOldMonthName(int month); //昔の月の名前で表示する関数。前の方で定義済み。 cout << name << endl; ってのがあるんですが、表示されるのはポインタnameに格納されてるアドレスではないのですか? 実際やって見ると参照先が表示されます cout << *nameに変えると何も表示されませんでした。 int a = 10; int* p = &a; cout << p << endl; とした場合にはpにあるアドレスが表示されるので どこで違いがあるのかがわかりません
- 460 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:36:50.65 ]
- int a[10]とchar a[10]でも違うだろ。
文字列型だけ特別扱いされて、アドレス渡すと中身が表示される。
- 461 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:39:27.10 ]
- cout << (int)name << endl;
cout << *(int*)name << endl; にしたら何か数字出る。
- 462 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:48:58.27 ]
- ありがとうございます。
>>460 そういう事でしたか。 文字列のところとcoutのところもう一度読み直しておきます。 >>461 両方数字が出ました。下はマイナスで上より桁が大きかったです。 キャストってやつなのかな。これも読んでおきます。
- 463 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 17:09:57.78 ]
- 派生クラスでメンバ関数を呼び出したらすべての基底クラスの同名同シグネチャのメンバ関数をすべて呼び出す
みたいなコードはちまちま手書きで書かないと作れない? デストラクタみたいに勝手にやってくれると楽なんだけど
- 464 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 18:09:05.38 ]
- たいていそういうのに限って、関数によって、少しずつ、後先が違ってないか
- 465 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 18:18:38.26 ]
- 違う分だけ書き足すってのがふつうじゃないか
- 466 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 21:39:42.10 ]
- 前関数を呼ぶ位置の後先が、全部同じなのか?たいてい、少しずつ、、
- 467 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 09:27:53.08 ]
- 10件のデータを読込み、最大、最小値を求め表示するプログラムなのですが
ここでは体重にしました。よく分からないので教えていただけないでしょうか。 参考書を読みながら書いてみましたがfor以降がイマイチ分かりません。 #include<stdio.h> int main(void) { float w_max,w_min,weight; int i; for(i=0;i<10;i++){ scanf("%f",weight[i]); if(w_max < weight[i]) w_max = weight[i]; if(w_min > weight[i]) w_min = weight[i]; } for(i=0;i<10;i++){ //不明 } printf("i= %d w_max=%f w_min= %f\n", i, w_max, w_min); return 0; }
- 468 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 10:40:07.17 ]
- 内容的に宿題スレですね
すいませんでした。
- 469 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 11:29:40.25 ]
- >>467
その条件だけなら、二番目のループ自体不要だろ。 ついでに言えば、その後のiの出力も意味がない。
- 470 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:06:06.20 ]
- Cの宿題なら、「該当行で出力されるiの値はいくらか。」って聞かれてもいいな
- 471 名前:デフォルトの名無しさん [2012/01/18(水) 23:25:45.05 ]
- こんにちは。C++とDXライブラリでしょぼいけどゲーム作っています。質問させてください。
二次元ベクタにキャラクターを入れて、その全てを描画する方法として、例えば、 vector<vector<Character>> Chara; for(int y=0;y<Chara.size();y++) for(int x=0;x<Chara[y].size();x++) Chara[y][x].Draw(); という方法があると思います。 また、例えば、キャラクターのHPが0になっている者を探し、 そのHPを回復させるとしたら、 for(int y=0;y<Chara.size();y++) for(int x=0;x<Chara[y].size();x++) if(Chara[y][x].HP==0)Chara[y][x].HP+=100; みたいな感じになると思うんですが、 for文で回しているところが、重複して無駄な感じがするので、 テンプレート関数とかを使って、何か上手く出来ないかと悩んでいます。 AllDo(Chara,Draw()); AllDo(Chara,Recover()); ←みたいに出来ればすっきりするんですが・・・。 どう書いたらいいのか頭がこんがらがってしまって(汗) どなたかご教授下さい。よろしくお願いします。
- 472 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 00:36:26.93 ]
- 0x使ってもよさ気だから、forを関数にして中身をラムダで書けばいい
- 473 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 01:13:26.33 ]
- template<class F>
void AllDo(vector< vector<Character> > & v, F f) { for(int y(0); y < v.size(); ++y) for(int x(0); x < v[y].size(); ++x) f(v[y][x]); }
- 474 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 01:15:39.75 ]
- イテレーターを作ってstd::for_eachだろ
- 475 名前:471 mailto:sage [2012/01/19(木) 05:27:53.71 ]
- ラムダ式すっごい楽です!
まだC++始めて日が浅いのでこの機能は知りませんでした! >>472-474 教えてくださった皆さんありがとうございました。
- 476 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:08:39.53 ]
- Windows7 64bit版のポインタのサイズって64bitで合ってる?
- 477 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:11:41.59 ]
- いいえ
- 478 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:23:09.98 ]
- てことは、64bit版もポインタのサイズは32bitなのか
ありがとう
- 479 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:36:37.31 ]
- てことは
はどこに掛かってるんですか
- 480 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:50:36.19 ]
- いいえ
- 481 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:54:12.44 ]
- 言い得て事は
- 482 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:00:41.14 ]
- >>476
16bitは動かないから、32bitまたは64bitじゃないかな
- 483 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:04:16.54 ]
- なんでポインタのサイズなんて気にするの?
実質ただの整数なんだから32でも64でも大差ないでしょ
- 484 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:10:11.41 ]
- >>476
VCならばこのあたりに注意すれば十分かと ttp://msdn.microsoft.com/ja-jp/library/3b2e7499.aspx
- 485 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:18:18.31 ]
- わかんなかったら全部64bit整数でショリすれば問題ない
- 486 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:21:09.88 ]
- そんなコード書いてて128bit時代が来たらどうするの?
- 487 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:25:58.21 ]
- 全部128bit整数にすれば問題ないよ?
typedef一発だよ
- 488 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:29:13.02 ]
- typedef int32_t oreint_t;
typedef int64_t oreint_t; typedef int128_t oreint_t; void oreint_chk(void) { if (sizeof(oreint_t) != sizeof(void *)) abort(); // 無理です } 何も問題ない
- 489 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:32:58.92 ]
- DWORDとDWORD_PTRの大きさ違うとか
いちいち問題にする事自体が時間の無駄
- 490 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:08:26.58 ]
- たぶん、そんなあなたに:intptr_t
- 491 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:09:08.83 ]
- それで思い出したけど、_t の t って何の略?
size_tのおかげで、しれっと使ってるけど、良く考えたら何の略か知らなかったので、 この際教えて欲ください。
- 492 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:16:15.68 ]
- 何かの略というより、お墓ね
- 493 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:51:54.94 ]
- typedef
- 494 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:54:28.66 ]
- type
- 495 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 09:39:30.24 ]
- size_tとかSizeTypeみたいな後ろにくっついてる型を意味するサフィックスは
大抵の場合変数名とかぶるのが気持ち悪いというだけの理由で付けられたものだよ
- 496 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:18:35.97 ]
- >>495
ソース // C/C++の薀蓄もきちんと知りたい年頃。 // 納得はしている。
- 497 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:44:34.75 ]
- ひょっとして仮想関数を利用したポリモーフィックなクラス階層構造以外で継承することってあまり無いんですか?
今まで継承していたクラスをメンバに持たせて関数を呼び出すだけのinlineメンバ関数を定義するするほうが複雑なコードを組みやすい気がするんですけど
- 498 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:51:24.82 ]
- ひょっとしてはどこに掛かってるんですか
- 499 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 11:59:33.25 ]
- なんでC++はポインタと参照を違うインターフェースで扱うんですか?
Javaみたいに全部.でやったほうがクールだと思います
- 500 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 14:34:16.26 ]
- Javaを意識したら、Oracleがアップをはじめるからだめです(w
Javaを意識して、極力参照で書くようにポリシを決めることはできる 君が自由人(個人開発者)なら、まったく君の自由だ C/C++には、壊れてたり、nullだったりするポインタ型の値を扱う「資格」があるんだよ C系のみとは言わないが、そこには誇りすらある # 休憩しにきた
- 501 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:35:16.68 ]
- C#でおk
- 502 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:19:38.03 ]
- “Javaには無い”演算子オペレーターを効率よく実装するためだったような
もう忘れた
- 503 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:54:01.80 ]
- Handle-Bodyを使えば見た目が参照っぽいスマートポインタになってJava厨も安心する
- 504 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:53:31.45 ]
- enum をインクリメントして巡回したいんだけど安全で汎用的な方法はある?
enumの型ごとに値の遷移テーブル(それかswitchで次を見つけるだけの関数)を作るみたいな、地道な作業するしかないかな?
- 505 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:18:47.13 ]
- 汎用的かどうかなんてその時個々人の主観が伴うから
好きにしたらいいよ
- 506 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:55:00.76 ]
- enumがアップル=1、オレンチ=3、ピーチ=7だったら
num[]={1,3,7}; とsize=3を別に持っとけ。 このデータを前処理で自動生成してもよい。
- 507 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:15:40.86 ]
- 地道な作業を、PCにやらせるようにするのが古典的だが手っ取り早い
- 508 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:17:53.77 ]
- そうだな生成プログラムでも書いた方がらしいな
- 509 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 18:00:43.29 ]
- Visual Studio2003です。
.cファイルを右クリックしてコンパイルすると.objファイルができるじゃないですか。 このできた.objファイルを他のプロジェクトで使いたいんですよ、javaの.classファイルみたいなイメージで。 でもソリューションエクスプローラには「ソースファイル」「ヘッダーファイル」「リソースファイル」とあるんですが、どこに置いてどうincludeすれば使えるようになるんですか?
- 510 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 18:21:54.58 ]
- ・.objはリンカが扱う。
・ただし、リンカコメントというのをソースに埋め込むと、.cで.objを引っ張り込むことを記述できる。
- 511 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 19:57:25.12 ]
- >>510
リンカコメントですね、ググってみます。 ありがとうございます。
- 512 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 20:22:45.05 ]
- うん、ぐぐったらなんかわかるだろ。
と思ってたら、通称だったかも。うまく出せない。 > #pragma comment(linker, "...") こういうのなので、ぐぐってみそ。 で、そんなことをするうちに、include 的に記述するより、 プロジェクト設定みたいので指定するのが自然ってのがわかると思う
- 513 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 20:49:19.22 ]
- Makefileに変換してnmake使うことできないの?
後々そっちの方がいいよ
- 514 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 09:03:21.79 ]
- >>512
ありがとうございます。色々試してみます。 >>513 nmakeって元から入ってるのならいけると思います。 自分のバソコンじゃないのでインストールとかはできないです。
- 515 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 14:49:21.25 ]
- ナマポとスマポどっちもぶち込めるコンテナってどう書くんですか?
- 516 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:43:59.13 ]
- スマポのナマポをぶちこんどけばおk
- 517 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 07:35:41.50 ]
- WindowsのC/C++のUNICODE両対応アプリのソースって、
文字定数と文字列定数はいちいち_T()で囲わないとダメですか? 一部をANSIで扱うことってありえますか?
- 518 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 08:09:51.62 ]
- 今の流行はAPIに食わせる場合は_T()
食わせない場合はUTF-8として扱う かな
- 519 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:37:04.75 ]
- WindowsはAPIにAやWがついてるやつを使えば
_T使わなくても平気じゃないかな
- 520 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:53:52.30 ]
- CString使えばいいよ
- 521 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:56:40.08 ]
- 時刻を管理するクラスTimeのメンバ関数として、
分を返す int Time::min( ) const を用意したのですが、 VC++ 2010だと、windows.hをインクルードした際に マクロmin(a,b)(((a)<(b))?(a):(b)) と解釈されてしまい 引数が足りないというコンパイルエラーになります。 このコンパイルエラーを回避するためには min()の名前を変更する以外に方法は無いのでしょうか? よろしくお願い致します。
- 522 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:22:39.49 ]
- #define NOMINMAX か (t.min)();
- 523 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:23:52.48 ]
- >>521
includeした後にundefする。でも衝突しそうな名前は初めから避けるべき
- 524 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 00:39:48.02 ]
- ファイル名やフォルダ関係はUNICODEで統一しといた方がいいかも
ファイルの中身は知らん
- 525 名前:521 mailto:sage [2012/01/30(月) 09:55:06.10 ]
- >>522
>>523 ありがとうございます。
- 526 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 10:10:56.90 ]
- stdと衝突するあたりM$の頭の悪さが露呈してるよなぁ
- 527 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 14:50:02.33 ]
- maxマクロを書いたMSのプログラマは絶対に許さない。絶対にだ
- 528 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 22:38:39.10 ]
- >>526
windows.hって相当昔からあるから、STLが規格に入る以前に作られてたとか
- 529 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 00:18:22.76 ]
- C++の大規模ソースをソーストレースするときのおすすめツールを教えてください。
ある関数の宣言もとや使用箇所を手早く探せるようにしたいです。 以下、今まで使ってたもの。 ctags :同じ名前の関数(オーバーライドされてる関数)があるとき、 候補をリスト表示できない。 関数やメンバを使用している箇所を表示できない。 GNU Global :構造体のメンバを検索したり、 関数定義もとを探すときに見つからないことがある。 Windows 、Linux のどちらかで使えれば良いです。
- 530 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 00:31:09.18 ]
- grepや全文検索。
コンパイラ提供のインクルードパスをgrepかけることあるがそれほど時間掛からん。
- 531 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 10:17:31.94 ]
- ビルド環境さえ用意できるならなにもなくてもなんとかなるね
grep,ファイラー,テキストエディタはさすがに用意できるだろうし
- 532 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 13:40:47.76 ]
- ソースを全文検索対象にして、indexつくらせちゃう
まったくのベタだが、結局これがいちばん早かった
- 533 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 15:08:59.03 ]
- class c_A、class c_Bがあって、
〜〜ヘッダファイル内〜〜 #include "c_B.h" class c_A { c_B hoge; }; 〜〜〜〜〜〜〜〜〜〜〜 でインスタンス生成できちゃうんですか
- 534 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 15:46:32.64 ]
- >>529
つ[Doxygen] >>533 できない。
- 535 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 18:41:28.49 ]
- C++の規格上vector.end()をインクリメントすると何が帰ってくるか未定義?
だとすると内部で+=や++オペレータを呼ぶだけのadvanceは終わりをチェックしてくれていないの?
- 536 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 18:43:48.01 ]
- はい
- 537 名前:533 mailto:sage [2012/02/05(日) 19:56:00.52 ]
- すいません、c_Aのインスタンスを生成したときに、内部に持っているc_Bの
インスタンスも生成されるのでしょうか? という質問でした
- 538 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 19:59:31.87 ]
- はい
- 539 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 20:44:34.41 ]
- それで納得したならそれでいいし、
それで何か困るなら、ラッパクラスを作ってもいい
- 540 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 21:03:30.46 ]
- >>536
ohそうなのか。ありがとう 規格上どのコンテナのイテレータでもそうなってる訳?
- 541 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 21:05:46.99 ]
- はい
- 542 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:09:47.26 ]
- ほんとにちょっとした質問なんですけど、
ifstream ifs("csvファイル.csv"); string line; getline(ifs,line); //※ここで、別のファイルを開きたくなったので、 ifs.open("別のファイル.csv"); ってやった場合、マズかったりしますか? それとも、ifsは「別のファイル.csv」をちゃんと頭から読み込んでくれますでしょうか?
- 543 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:16:38.66 ]
- はい
- 544 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 23:19:07.66 ]
- マズかったりします
- 545 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:10:08.63 ]
- >>541
thx! だとイテレータ使ったループって使いにくくない? Cだとfor(i=0;i<10;i+=2);で偶数飛ばせるけどイテレータはいつもend()になったかどうか チェックしないといけない。ぶっちゃけ改悪なのでは?
- 546 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 01:35:42.46 ]
- listなどの実装を考えると一般的にイテレーターがi<Nと書けない(非常にコストが掛かる)ことに気がつく
- 547 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 07:56:49.62 ]
- コンティナーのせっかく抽象化したい照れーたをインクリメイツ
って発想が キモイと思うのだが 片リストを逆から辿ろうとしたら 「このコードはバヤイ!リバースコピーをいテレータ用に確保なう!」 「もっといい方法があるのにp」 と忠告してくれるコンパイラーがあるといい
- 548 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 08:07:20.64 ]
- >>546
大概の実装はlistのsizeは定数時間になっていると思うが
- 549 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 11:33:49.80 ]
- >>548
それとこれとは関係ない。
|

|