- 1 名前:858 [2007/12/24(月) 03:41:59 ]
- C++標準ライブラリの一つ、STLについて。
前スレ 【C++】STL(Standard Template Library)相談室 7 pc11.2ch.net/test/read.cgi/tech/1185986999/ 過去ログ・リンク・書籍紹介は >>2 以降
- 960 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:28:50 ]
- map は second の方は変えれる。
- 961 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:28:54 ]
- >>959
map の場合は value_type である pair の first がソートキーなので、これは 書き換えられないように const が付いてる。 second は順序に関係ないので 書き換えてもいい。
- 962 名前:955 mailto:sage [2008/02/24(日) 15:31:13 ]
- >>960,961さん
なるほど、そうなっているのですね。 よく分かりました、どうもありがとうございました。
- 963 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:43:02 ]
- compareが感知しないメンバなら、mutable付けていじることはできるけどね。
- 964 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:01:24 ]
- まぁそれは奥の手ということでw
- 965 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:04:12 ]
- ファイルに簡単に新規作成、追記ができる方法ありますか?
ofstreamって、bad()とかfail()とか使いにくい。
- 966 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:18:47 ]
- ofstream.exceptions(badbit | failbit);
ってやっとけばいちいちチェックしなくても例外吐いてくれると思う それが使いやすいかどうかはわからんが…
- 967 名前:965 mailto:sage [2008/02/25(月) 14:25:43 ]
- サンクス>>966
- 968 名前:デフォルトの名無しさん [2008/02/25(月) 16:54:00 ]
- そんな機能があったとは
- 969 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 17:08:09 ]
- そういえばostreamのfail()が真になる事ってあるの?
- 970 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 17:24:02 ]
- >>920
>file_range ずっと見てても分からないんですが、file_rangeって何ですか?
- 971 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 17:29:12 ]
- ファイルの先頭から末尾の一つ後ろまでを指すイテレータのペアみたいなもん
- 972 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 17:30:41 ]
- 使い方キボン
- 973 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:12:11 ]
- 複数のファイルがあって、それがローデータだったり、テーブルデータだったりします。
複数のファイルを混在させずに簡単にロードしてしまうクラスが欲しいのですが、どんな実装になりますか?
- 974 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:13:10 ]
- >>972
コンストラクタで開いたら後はただのRange。 p-stade.svn.sourceforge.net/viewvc/p-stade/trunk/pstade/libs/oven/test/file_range.cpp?revision=1481&view=markup p-stade.sourceforge.net/oven/doc/html/oven/ranges.html#oven.ranges.file_range Range自体はここでも見て。 www.kmonos.net/alang/boost/classes/range.html
- 975 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:16:01 ]
- さんks>>974
boostなんですね。STLに昇格するまで待ってようかなぁ。 ちょっと気後れしてしまうorz
- 976 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 08:54:04 ]
- 973もヨロ!
- 977 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 08:59:15 ]
- >>973
ローデータ、テーブルデータ、ファイルを混在、簡単に、ロード これだけ曖昧な言葉を並んでるとさすがに意味がわからん。
- 978 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 11:28:42 ]
- いや、だからメモリにロードしたいけど、
ファイルの種類が増えるたび書き換えするのは面倒なので、 ポケットみたいにどんどんファイル(ファイル名)を入れていくとその中でメモリになってる、みたいな。
- 979 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 12:01:54 ]
- >>978
// ちょっとエスパーにチャレンジしてみたい気分になった // こうですか? #include <vector> #include <map> #include <string> #include <istream> #include <iterator> #include <fstream> #include <cstddef> #include <exception> #include <iostream> typedef std::vector<char> memory_type; class pocket { std::map<std::string, memory_type> naka; public: void ireru(std::string const& filename) { std::ifstream file(filename.c_str()); file.exceptions(std::ios::badbit | std::ios::failbit); naka[filename].assign(std::istreambuf_iterator<char>(file) , std::istreambuf_iterator<char>()); } }; int main(int argc, char* argv[]) { try { pocket pocket; for (int i = 1; i < argc; ++i) { pocket.ireru(argv[i]); } return EXIT_SUCCESS; } catch (std::exception const& e) { std::cerr << e.what() << std::endl; return EXIT_FAILURE; } }
- 980 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 12:18:03 ]
- 乞食は消えろ
- 981 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 12:25:50 ]
- さて埋めるか。
- 982 名前:978 mailto:sage [2008/02/26(火) 12:58:13 ]
- サンks>>979
そのまま使ってみます。 でも、ireruメソッドはメソッド名変えるけど。 class pocketもclass memoryPocketの方が良いかなぁ?
- 983 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:12:22 ]
- 978がアホすぎて吹いた
- 984 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:15:27 ]
- 吹いても良いから、自分はどーゆーふーに作ってるか書けお。
- 985 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:24:08 ]
- スレタイに「初心者」か「宿題」が付いてるスレへ行ってくれ。
マジで邪魔。
- 986 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:29:55 ]
- >985
おま、ふよー
- 987 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 15:16:46 ]
- >>985
おまえだって大したことはないだろ
- 988 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:42:30 ]
- 次スレマダー?
- 989 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 18:44:25 ]
- 邪魔っていうか、ゴミだよね。
なんでこのスレ見てるんだろう。
- 990 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:03:06 ]
- リアルで同じ事言われてここに辿り着いたんだろう
- 991 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 20:47:50 ]
- ジエンオツ
- 992 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 21:41:38 ]
- ということにしておこうか:-)
- 993 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 23:55:52 ]
- 次スレ
pc11.2ch.net/test/read.cgi/tech/1200044614/
- 994 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:16:16 ]
- あれ?あ、そういうこと・・・
- 995 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:17:38 ]
- STLスレはいらんという事?
- 996 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:25:47 ]
- まぁ毎度のことだな。
こっちが二ヶ月で 1000 。 あっちが一月半で 800 。 あわせると、だいたい一月でちょうど 1000 か。
- 997 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:03:52 ]
- 【C++】STL(Standard Template Library)相談室 9
pc11.2ch.net/test/read.cgi/tech/1204045410/
- 998 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:04:35 ]
- 【C++】STL(Standard Template Library)相談室 7
pc11.2ch.net/test/read.cgi/tech/1185986999/ 【C++】STL(Standard Template Library)相談室 6 pc11.2ch.net/test/read.cgi/tech/1160821240/ 【C++】STL(Standard Template Library)相談室 5 pc8.2ch.net/test/read.cgi/tech/1143608073/ 【C++】STL(Standard Template Library)相談室 ;4 pc8.2ch.net/test/read.cgi/tech/1130680264/ 【C++】STL(Standard Template Library)相談室 3 pc8.2ch.net/test/read.cgi/tech/1116559700/ 【C++】STL(Standard Template Library)相談室 2 pc8.2ch.net/test/read.cgi/tech/1104898734/ 【C++】STL(Standard Template Library)相談室 pc5.2ch.net/test/read.cgi/tech/1095583235/
- 999 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:07:03 ]
- 新スレからの誤爆とは珍しい。
- 1000 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 02:08:40 ]
- 次すれ
pc11.2ch.net/test/read.cgi/tech/1204045410/
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|