[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 11/25 00:30 / Filesize : 208 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】STL(Standard Template Library)相談室 8



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 以降

29 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 03:44:46 ]
>>28
サンクスです
vecの型が
vector<double> vecであってもvector<string> vecでも
削除できるようにしたいのですが?



30 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 03:47:17 ]
ごめんなさい
erase( remove( vec.begin(), vec.end()), 削除したい特定の要素 );
でした



31 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 03:58:36 ]
>>29-30
情報小出しの兆候が見られて嫌な感じだな。
いくらかわかったけど、細かい仕様がわからないから何ともできない。
たとえば関数テンプレートにしたいんなら関数の戻り値や引数がわからない。

とりあえず自分で書いた奴みせて。

32 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 05:00:55 ]
>>29-30
こうですかわかりません

template<typename T>
void erase_it(vector<T>& vec, const T& value)
{
  vec.erase( remove(vec.begin(), vec.end(), value), vec.end() );
}

33 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 06:49:01 ]
まだ続々と新情報が出てくるだろうから
しばらく適当にイジってたほうがいいと思うよ

34 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 18:45:34 ]
>>27です
夕べは眠くて、質問を書き間違えました
>>コンテナの要素が空でない場合、要素を全削除する関数ですが、
これが間違いで
vector型のコンテナで、特定の要素を削除できる汎用的な(Template)の書き方が
教えて欲しかったのです
ですので、32さんありがとう

35 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:12:02 ]
27です、32さんに教えてもらって、Templateの書き方が何となく分かってきた
気がします、連投で申し訳ないけど
コンテナの空チェックで
vector<int> vec;
if(!vec.empty())
 vec.clear();
〜空で無い場合の処理

この様な書き方をすると思うのですが、Templateにした場合
この書き方は間違っていますか?
template<typename T>
void empty_it(vector<T>& vec)
{
  if(!vec.empty())
    vec.clear();
}

36 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:13:18 ]
つーか、vec.clear()だけで充分ですが。

37 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:14:22 ]
>>36
空のコンテナを
vec.clear()すると
アクセスバイオレーションになりませんか?




38 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:16:56 ]
なんでそんなことになると思うの?

39 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:19:50 ]
以前、空のコンテナをclear()したら、そうなった気がしたんですが
今手元に、コンパイラが無いんで確認できないんですが、
勘違いだったのかなぁ・・・

40 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:23:39 ]
>>39
メモリ破壊でもしてたんだろ

41 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:27:46 ]
>>40ってことは、空のコンテナをclear()しても、問題は無いってことですか?
やはり>>35の処理は不要ってこと?

42 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:30:51 ]
>>41
問題ない。不要。

43 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 19:33:07 ]
>>42了解したよ
ありがとう、幾ら簡単な例ができても、何の役にも立たなくては、意味無いからね


44 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 21:04:40 ]
解決した途端、敬語が消えてどっかの審査員みたいな目線になるのは
GoFでいうとなにパターンですか?

45 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 21:08:14 ]
pimpl

46 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:06:28 ]
Observer

47 名前:デフォルトの名無しさん [2007/12/29(土) 01:46:38 ]
vector::insert()で、
insert(先頭位置, 挿入数, 挿入する物)
insert(先頭位置, 挿入する物.begin(), 挿入する物.end())
というバリエーションがあるみたいなのですが、どういうバリエーションがあるかは
どうやって知るのでしょうか?manページとかがあるのでしょうか?




48 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 01:56:47 ]
>>47
こことかどう?
www.wakhok.ac.jp/~sumi/stl/

49 名前:デフォルトの名無しさん [2007/12/29(土) 02:07:58 ]
>>48
ありがとうございます!


50 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 02:18:00 ]
俺が今仕事で使ってる環境にはstdc++のmanが入ってるな。
ただ所々間違ってるんだけどw
std::mapのerase(iterator position)がpositionの次のiteratorを返すって書いてあったりする。

51 名前:デフォルトの名無しさん [2007/12/29(土) 11:30:15 ]
そういや >>47 のようなことを思っていた時期もあったけど,
いまや IntelliSense に頼りっきりになってしまった.

そろそろ趣味グラマで Linux 上でのプログラミングも
しようかと思うんだけど,Emacs でそういう補完とか
やろうと思うとどんな *.el 入れれば便利なんだったっけ?

52 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 13:46:27 ]
俺はここ使ってる
www.scl.kyoto-u.ac.jp/scl/appli/appli_manual/SUNWspro/WS6U2/ja/manuals/stdlib/stdref/classref.htm

53 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:28:45 ]
Linuxとかならglobalかな
emacsには標準でついてる

54 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 22:31:50 ]
typedef struct ST_TABLE {
int num;
int headdate;
int taildate;
ST_TABLE( ) : num(0), headdate(0), taildate(0){}
}ST_TABLE;

このような、構造体を持つvector型のコンテナから、for_eachを用いて
headdateの最大値を求める、Templateの作り方を教えてもらえませんか


vector<ST_TABLE> containerIndex

containerIndexには、要素が入っていることと仮定して


for_each( containerIndex.begin(), containerIndex.end(), &head );

template<class T>
int head(const vector<ST_TABLE>::iterator T& t) {

ここまでは分かるのですが(間違っているかもしれない。。。。多分間違ってるでしょうorz)


55 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 22:35:56 ]
間違ってます。3引数のstd::max_elementを使いましょう。

56 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 22:41:54 ]
これでは、エラーが沢山出てしまうのですが...
for_each( containerIndex.begin(), containerIndex.end(), head );
template<class T>
int head(const vector<ST_TABLE>::iterator T& t) {
 return max_element t->headdate;
 t++;
}

57 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 22:49:26 ]
max_element(v.begin(), v.end());




58 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 22:50:08 ]
>>57 ミスった。スルーしてくれ

59 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 22:59:05 ]
>>56だけど
できちゃったけど、オーバーロード使って、でできちゃったww
templateでは、できないものかなorz


60 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 00:54:29 ]
templateで、の意味がいまいち不明だけど、max_element(begin, end, comp)使えって。

61 名前:デフォルトの名無しさん [2007/12/31(月) 10:52:36 ]
vector<int> v, w;
があったときにvからwへcopy_ifするとき、wの要素の方が少ないとクラッシュするのですが、
そういうときにもwを拡張しながらcopyするにはどうすればいいですか
たとえば

copy (v.begin(), v.end(), w. begin(), even());

解決方法としてはv.size()であらかじめw.reserveしておくといいのですが、
vは巨大な配列でwは小さいので余計な領域を予約しまくるのが気持ち悪いです

62 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:10:29 ]
自己解決しました。

copy (v.begin(), v.end(), back_inserter(w), even());

ありがとうございませんでした。


63 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:40:20 ]
それだと不必要に非効率になるかも。
w.reserve(w.size() + v.size()) で必要な分のサイズを確保してから、
w.insert(w.begin() + w.size(), v.begin(), v.end()) とやったほうが、
多分(←重要。真相は調べるべき)効率が良い。

64 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:12:24 ]
reserveするだけじゃ実行時エラーになるかも

65 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:36:44 ]
vector<int> vec1
vector<int> vec2
vector<int> vec3に

vec1の要素1,2,3,4,5,6,7,8,9,10
vec2の要素4,5,6
とします、vec1とvec2をマージして、重複値を持たないように
vec3の要素1,2,3,4,5,6,7,8,9,10
としたいのですが、↓これだと
merge( vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), back_inserter ( vec3 );
unique( vec3.begin(), vec3.end() );
vec3の要素1,2,3,4,5,6,7,8,9,10,4,5,6
となってしまいます
どうしたらいいですか?


66 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:47:23 ]
uniqueって、remove_ifなんかと同等のインターフェースで、
vec.erase( remove_if( vec.begin(), vec.end(), cond), vec.end() );
みたいな構成にしないとだめ、じゃなかったっけ。

67 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 15:49:19 ]
STLじゃないけど

#include <cassert>
#include <pstade/oven/equals.hpp>
#include <pstade/oven/uniqued.hpp>
#include <pstade/oven/merged.hpp>
#include <pstade/oven/initial_values.hpp>
#include <vector>

int main() {
  using namespace::pstade::oven;
  using namespace std;
  vector<int> A = initial_values(1,2,3,4,5,6,7,8,9,10);
  vector<int> B = initial_values(4,5,6);
  assert( equals(A,A|merged(B)|uniqued) );
}

こんな感じでいちいちeraseだの使わずに書きたい気分



68 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 16:45:30 ]
>>65だけど
あのぉーすみませんが、pstadeってなんっすか?
boostライブラリィの一種?


69 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:19:44 ]
p_stadeさんの作ったC++ライブラリ

70 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 17:37:06 ]
かなりマニアティックなものなんですか?
解答が無かったんで、今自力でtemplate作ったけど、速度がでねぇ〜
参ってるんだよね、コンテナ二つがそれぞれ500件と5000件で先の要件を満たす
ようにすると、PCが1,2秒固まるんだよね
p_stadeさんの作ったC++ライブラリって速度速いの?

template < typename ForwardIterator >
ForwardIterator to_unique( ForwardIterator lhs, ForwardIterator rhs )
{
  ForwardIterator result = lhs;
  for( ForwardIterator it = lhs; it != rhs; ++it ){
    if( std::find( lhs, result, *it ) == result ){
      *result++ = *it;
    }
  }
  resulturn result;
}


71 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:38:00 ]
sort→unique→eraseじゃないの。これが遅いからどうにかしたいって話か?

72 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:54:26 ]
>>70
>>65の件

73 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 20:01:07 ]
俺の環境(athlon64 3000+,gcc4.1.2,linux2.6 x86)ではstlのを1とするとovenは10、>>70のは40ぐらいの時間だった
libstdc++でのuniqueの実装はadjacent_findで先頭部分で既にuniqueになってるものを飛ばし
あとはuniqueになっている部分の末尾と比較しながら
uniqueであるなら末尾の次にコピー、そうでないなら無視といった具合に
イテレータが進んでいくだけってシンプルなものだったから、それと比較したらまぁそんなもんかとはおもうけど
2.3秒かかるってのはstd::vectorのreserve()をせずにどんどん突っ込んだとかそういう要因の方がでかそう

74 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 18:56:28 ]
p_stade(笑)

75 名前:デフォルトの名無しさん [2008/01/02(水) 03:41:11 ]
>>70
>解答が無かったんで、今自力でtemplate作ったけど、速度がでねぇ〜
for文の中でfindしてりゃそりゃ遅いだろうよw
ハッシュつかえば一発じゃん。


76 名前:デフォルトの名無しさん [2008/01/02(水) 10:38:22 ]
「ハッシュ」て、ハッシュドビーフのハッシュですか?

77 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 10:46:25 ]
はい



78 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 12:04:26 ]
ハッシュド、即ちハッシュキーに変換されたビーフ。

79 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 12:53:45 ]
お前の話はつまらん

80 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 14:21:50 ]
>>76
つまらん話のおかげでシチューを
火にかけっぱだったのを思い出した。
マジ感謝。

# 正月2日からレトルトってのもアレだが。


81 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 21:35:31 ]
>>80
レトルトかよ!
時間とれる時くらいまともな料理しろって。(実は喰い物作るのって上手なスレッド処理みたいで面白いのだ)



82 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 23:21:32 ]
>>81
分かるw
コンロが複数あると加熱で複数スレッドとか、火入れてる間に別の一品の下ごしらえとか。
慣れてくると俺OSがマルチスレッドに最適化されてくるのが分かる。

83 名前:デフォルトの名無しさん mailto:sage [2008/01/02(水) 23:53:15 ]
生活板か料理板か喪男板かダム河川板でやれ

84 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 03:33:58 ]
ダム河川板とのつながりを理解できない俺は負け組み。

85 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 05:22:00 ]
>>84がデッドロックしてるお…

86 名前:デフォルトの名無しさん [2008/01/03(木) 08:54:14 ]
定数を返すファンクタってありませんか?
って自分で書くのは簡単ですが,
標準があればそれを使おうと思います.

87 名前:デフォルトの名無しさん [2008/01/03(木) 09:50:18 ]
>>86
質問の意味がわかりません。




88 名前:デフォルトの名無しさん [2008/01/03(木) 11:07:20 ]
www.zvon.org/other/haskell/Outputprelude/const_f.html
的なやつのことだったら、自作しないと標準の範囲では存在しないはず。
それ以前にid関数もなかったはずだ。

boostは知らんので当該スレで聞いてくれ。

89 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 20:01:01 ]
メイヤーズ先生の本を読んで、STLとマルチスレッドって相性悪いと言うか、
結局、期待通りの動作は、実装依存で全てのSTLの振舞いが保障されてないみたいなことが書いてあったな
STLを駆使した、マルチスレッドプログラミングって、かなり精通しないと難しそうな印象を持った

90 名前:デフォルトの名無しさん [2008/01/03(木) 21:33:28 ]
C++0x でスレッド関係のライブラリが標準で入るようになれば
改善されると期待してるんだけど,無理かなぁ.

91 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 22:09:54 ]
>>89
その本ではどう動く事を期待してたの?

92 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 22:36:22 ]
>>その本ではどう動く事を期待してたの?
Effective STL本に書いてあるのは
STLのコンテナでマルチスレッドをサポートする基準、ようするに、実装から
最大限望めることは
★複数の読み取りが安全である
★異なるコンテナへの複数の書き込みは安全である
以上で全てと書いてあるよ、ただし。「望むこと」はできるが、常に実現できるとは
限らないことに注意しなければなっらない。こうした内容を保障する実装もあり、保障しない実装もある。
とのことです、漏れ自身、STLを使ってない、マルチスレッドの実装をリファクタリング∩改造したことはあるけど、
STL∩マルチスレッドの経験ないからあんまり良く分かんないけど、なんか考えても難しそうな希ガスる。

93 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 22:40:27 ]
>STLとマルチスレッドって相性悪いと言うか
うわさではよく聞くんだけどさ・・。具体的にこの場合に絶対におかしくなる
ってコードとどのSTL実装かを知ってる人っているのかな?
いまどきのLinuxとかWinでは問題ないとか勝手に思ってるんだけどさ。。

94 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 22:43:54 ]
続き。以前にSolarisのSTLでクラス変数をがんばってpthread_lockで
囲ってる実装を見て、なんかあぶなそうだなあと思った記憶はある。

95 名前:デフォルトの名無しさん [2008/01/03(木) 22:44:08 ]
libstdc++については、"XXX MT"でgrep してみるといくつか既知のバグがあることがわかるよ。
文字列の参照カウントまわりとか。詳しくはbugzillaをどうぞ。

96 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 22:55:23 ]
>>93
>>いまどきのLinuxとかWinでは問題ないとか勝手に思ってるんだけどさ。。
その本にも、同じようなことが書いてある
マルチスレッドプログラムの作成は難しく、STLの実装が最初から完全な
スレッドセーフであればと願うプログラマーは多いと
また、後先逆になったけど
>>具体的にこの場合に絶対におかしくなる
>>ってコードとどのSTL実装かを知ってる人っているのかな?
具体的なミューテックスを、行う際の完璧な(著者いわく)Lock方法が載ってるよ

97 名前:デフォルトの名無しさん mailto:sage [2008/01/03(木) 22:59:59 ]
後、STL以外のマルチスレッドの実装方法は難しいので、それに関しては
ビョーン本と、自分の書いた(メイヤーズ先生)MoreEffective C++を
読めとも書いてある



98 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 00:14:41 ]
std::stringとかがCOWな実装ならロックしててもまずいよね場合があるよね。

99 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 00:16:52 ]
そうだね。詳しくはMore Exceptional C++嫁という感じかな。
翻訳されてないけど。


100 名前:デフォルトの名無しさん [2008/01/06(日) 20:55:32 ]
>>86はどうなった?

101 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 21:10:40 ]
日本語でおkとなった

102 名前:デフォルトの名無しさん mailto:sage [2008/01/06(日) 22:58:34 ]
これだから関数型言語のひとつも使えない連中は以下略

103 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 02:04:14 ]
>>86>>100
Boost.Lambdaのconstantは望むものと違う?

104 名前:デフォルトの名無しさん [2008/01/10(木) 23:19:46 ]
a

105 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 13:33:47 ]
b

106 名前:デフォルトの名無しさん [2008/01/11(金) 14:01:47 ]
初歩的な質問で申し訳ないのですが
class sample{
public:
vector<int> vector_int;
list<double> list_double;
〜省略〜
}
というようなクラスをnew演算子で動的に生成した場合、delete演算子で解放
する際にはメンバのvectorやlistのメモリも解放されるのでしょうか。

ご教授お願いします

107 名前:デフォルトの名無しさん [2008/01/11(金) 14:11:45 ]
>>106
される.
安心して使いたまえ.



108 名前:デフォルトの名無しさん [2008/01/11(金) 14:18:33 ]
>>107
ご教授ありがとうございます。

また質問で恐縮なのですが関連して、メンバを
vector<int> *p_vector_int
とし、コンストラクタ内で動的にメモリ確保したとすると、この場合はデストラクタ内
で解放するように定義しとかなければいけないのでしょうか?



109 名前:別人 mailto:sage [2008/01/11(金) 14:42:35 ]
>>108
そのとおり、でも
sample a;
sample b = a;//もしくはsample b(a);
これでデストラクタが呼ばれると同じポインタを複数回deleteしたりする未定義動作になるから注意してね。

110 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 14:49:55 ]
>>108
コンテナをnewするなんて糞みたいなことはやめたまえ。

111 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:00:28 ]
>>109
>>110
ありがとうございます。

確かにコンテナをnewで確保するっていうのも変な話かも知れないです。 
動的なメモリ確保・解放っていうのがintやdoubleといったような基本的な
型でしか情報が見つからなかったので、クラスや可変長配列の場合どうなるのか、
モヤモヤしていたんですが、すっきりしました。ありがどうございました。

112 名前:デフォルトの名無しさん [2008/01/11(金) 15:05:27 ]
>>108
解放忘れが気になるなら,
std::auto_ptr を使うといいよ.

113 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:06:50 ]
>>112
調べてみます。ありがとうございます

114 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:08:25 ]
auto_ptrなんて落とし穴満載の使いづらいのを進めるなよ。

115 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:10:54 ]
>>114
そこらへんは、自分で判断しますので大丈夫ですよ・・・きっとw

116 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:19:07 ]
>>108
boost::shared_ptr (or boost::scoped_ptr)

boost::shared_ptr<std::vector<int> > sp_vector_int;

117 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:24:57 ]
>>111
動的確保する為のコンテナを、動的確保なんて「例」だとしても阿呆過ぎる。



118 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:30:23 ]
大量に複数のコンテナを用意する場合、コンテナのメンバ変数に
メモリが圧迫されることがあるので、newするケースもあると思うがなぁ。

119 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:34:45 ]
Container<Container<Type> >

120 名前:デフォルトの名無しさん [2008/01/11(金) 15:49:21 ]
>>114
だって,boost のビルドからしろって勧めるのも気が引けるじゃないか.

121 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 16:03:12 ]
>>120
いや、なるべくbestの回答をするのが親切だと思う。

122 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 16:07:43 ]
boost::shared_ptrはboostの他のライブラリに依存しない設計方針らしい

123 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 16:13:54 ]
ビルドが必要なのは実装依存のコンポーネントだな。
thread関連とかasio(まだ無いが)とか。
shared_ptrなんぞバイナリー落としてインストールするだけだ。

124 名前:デフォルトの名無しさん [2008/01/11(金) 17:24:46 ]
>>123
それを言うならヘッダファイルジャマイカ?

125 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 18:09:22 ]
C++相談室どこいった?

126 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 18:15:35 ]
落ちた

127 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 18:23:18 ]
996レスくらいだっけ? ぎりぎりで落ちたよね。



128 名前:デフォルトの名無しさん [2008/01/11(金) 18:31:41 ]
イテレータって何ですか?


129 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 19:03:45 ]
>>124
ヘッダもだけどライブラリじゃなくてか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<208KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef