- 1 名前:デフォルトの名無しさん [2008/02/27(水) 02:03:30 ]
- C++標準ライブラリの一つ、STLについて。
前スレ 【C++】STL(Standard Template Library)相談室 8 pc11.2ch.net/test/read.cgi/tech/1198435319/ 過去ログ・リンク・書籍紹介は >>2 以降
- 232 名前:217 mailto:sage [2008/03/12(水) 09:22:43 ]
- tp://sunlight.cocolog-nifty.com/sunlight/2006/11/class_56c5.html
こういう変なことする人もいる。class S が 仮想関数を持つクラスをメンバ変数に持ってたら ダメじゃんって突っ込みたい。 スレ違いでゴメン!
- 233 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 09:28:30 ]
- 突っ込みたいなら突っ込んであげればいいのに
- 234 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 10:05:25 ]
- >>232
君がインストラクタになってあげなさい
- 235 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 12:47:55 ]
- 引っ越しって言えば、moveだろ。
copyを引っ越しと言うのは無理があり過ぎる。
- 236 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 12:49:21 ]
- >>235
引越しは後片付けしてから出て行くよ。
- 237 名前:217 mailto:sage [2008/03/12(水) 15:43:34 ]
- 自分は暗黙のインストラクタでいいのでw
- 238 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 21:05:27 ]
- >>235
「copyを引っ越しと言」ってるようには見えないよ。「引越し時の要素のコピー」って書いてある。 コンピュータデータのmoveは、実際には「copyする」ことと「元を削除する」ことで成り立っているわけで、 つまり「move(ここではvectorの要素の再配置のこと)の手段としてのcopy」の表現だろう。
- 239 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 21:28:37 ]
- コピコンでは普通は deep copy する。
そういうもの。
- 240 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 22:56:24 ]
- 参照カウント付きハンドルの場合はそうじゃないけど。
(boost::shared_ptr etc)
- 241 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 23:00:16 ]
- それは特殊例
- 242 名前:デフォルトの名無しさん [2008/03/14(金) 00:11:29 ]
- インストラクタwww
- 243 名前:214 [2008/03/14(金) 01:02:08 ]
- レス遅れてすみません。解答してくださったみなさん、
ありがとうございます。 でも、*ほとんどの* ケースでは、単純なmemcpyで済みそうなのに、 いつでもコピーコンストラクタが使われるという仕様に疑問を感じます。 コピーコンストラクタが使われるとなると、コピー元のオブジェクトに 対してデストラクタを呼び出す必要があります。これは、*ほとんどの* ケースでは全く馬鹿馬鹿しい無駄です。 それならreserve使え、とおっしゃるかもしれませんが、どれだけの 領域をreserveしておけばいいのか、前もって計算できないことも よくあります。 引越し時のコピーはmemcpyで行われるべきではないでしょうか? >>215さんが出した例のような場合、ユーザーはreserveを使います。 どうでしょう? だめ?
- 244 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 01:08:07 ]
- allocatorを指定するとか。
- 245 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 01:26:34 ]
- >>243
そう、毎度コピーするのは無駄と誰もが思ったから、 今度の規格改定でムーブセマンティクスというものが導入されようとしている。
- 246 名前:オガちゃん萌え ◆tyvkWCNtzY mailto:sage [2008/03/14(金) 01:27:09 ]
- インフラはmemsetやらをやたら使うよ
アーキテクチャ依存すんだからOOPは役に立たん ドメインでアーキテクチャ依存せんようにするにはやむえない …が、インフラのC型記述は拡張子.cにして欲しい イヴァーヤコブソンはそんなユースケース駆動モデルを奨めている STLですらQACでNGになられたんじゃ参るストーン
- 247 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 01:47:52 ]
- >>245
彼が不満に思っている状況の大半では, move semantics は何の改善ももたらさないのでは?
- 248 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 01:53:02 ]
- そうか?移動なら、コピーに比べ格段に低コストだし、
前のオブジェクトのデストラクタは実質やることなくなる。 こういう問題だと思っていた。214が納得するかどうかは別としてだけど。
- 249 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 02:09:19 ]
- >>248
memcpy によってコピーできるオブジェクトというのは, (C++0x において条件が緩和される) POD 型のオブジェクトに およそ相当すると思いますけれど,これらのオブジェクトに対しては コピーの操作と (move semantics でいうところの) move の操作は 同じ操作になると考えられるので「move semantics によって改善される」というのは まずいのではないかな,と. デストラクタに関しても, move を使っても copy を使っても 「実質やることがない」のはなんら変わりはないと思います.
- 250 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:11:23 ]
- >>249
ああ、たしかにPODだとそうだね。 言葉足らずですまん。俺は非POD型を入れることことを考えていた。 というのも243でデストラクタを呼び出さなければならないと言っているから、 214=243は非POD型を念頭に置いているのだと思ったため。
- 251 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 12:04:02 ]
- >>243
手元のVC8ではvector<char>とかvector<int>ならmemmoveを使ってくれたよ。 アラインメントを考慮してrep movsdで転送。 struct Foo{int a; int b;}; vector<Foo>だと単純にループ1まわりにつき 8byte転送するようなコードになってた。 PODを判定できれば両方memmoveに出来るんじゃないかな。
- 252 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 12:23:37 ]
- わかってない子が来た
- 253 名前:251 mailto:sage [2008/03/14(金) 13:03:30 ]
- ん、俺のこと?
俺はただ、>>243がpush_backでのバッファ拡張時にmemcpyやmemmoveのような 効率的なコピーが使われないと思いこんでいるようだったから、わかりやすい 反例を示しただけだよ。 >>243 > *ほとんどの* ケースでは、単純なmemcpyで済みそうなのに、 それで済むケースは実際にそうなる場合があるよ、と。
- 254 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:22:12 ]
- >>232のアホ顔軍曹に習ってくる様にw
- 255 名前:251 mailto:sage [2008/03/14(金) 13:40:35 ]
- ん? 仮想関数がらみとか、コピーコンストラクタでpxをdeep copyしなきゃ
ならないケースの話? そういうクラスはPODとは呼ばないけど。
- 256 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 14:09:38 ]
- >>251
ちょうどVC8には、__is_podがある。 ただ、手元のVC9 EEのincludeディレクトリをgrepしたが、 使っていないみたいだったorz。
- 257 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:03:11 ]
- かなり初歩的な質問になるんですけど、std::setがどうやっても
当環境ではエラーを起こすのですが、原因わかりますでしょうか #include <set> #include <iostream> int main(){ using namespace std; set<int> nums; // 空のset return 0; } この文を実行した場合、実行時に Run-Time Check Failure #2 - Stack around the variable '_Lk' was corrupted. と表示され,xtreeのソースが表示されます。 環境:WinXP Pro SP3 Visual Sturio 2008
- 258 名前:257 mailto:sage [2008/03/14(金) 19:12:24 ]
- すみません、早速自己解決しました。
単純にPlattformSDKのcrtにあるxtreeが読まれていたからでした お騒がせしました。 ...OSまで再セットアップしたのにorz
- 259 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:06:21 ]
- アルゴリズムに渡す、ちょっとした関数オブジェクトのクラスにどんな名前つけてる?
- 260 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:16:40 ]
- func
- 261 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:18:10 ]
- lambda
- 262 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:22:36 ]
- fuck
- 263 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:15:57 ]
- >>259
クラスの役割にかかわらず名前がつけられるなんて思わないでください。
- 264 名前:オガちゃん萌え ◆tyvkWCNtzY mailto:sage [2008/03/15(土) 17:21:41 ]
- >>259
クラス名決める前に設計段階で静的モデルからクラス図作るからその段階で関数オブジェクトだろうがクラスだろうがメソッドだろうが役割に適した名前になるんじゃないの? 設計改善してコードリファクタリングの過程でまた適した名前にすると思うんだが? STLとは関係ないし 使い捨てツール作るなら、名前なんかテキトー 動けばよろし
- 265 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:37:28 ]
- ちょっとした関数オブジェクトの事だろ
他言語なら匿名メソッドとかラムダですませちゃうような奴 そんなん設計段階で無い事の方が多い
- 266 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 21:04:14 ]
- はーやく来い来いC++0x
- 267 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:12:04 ]
- >>259
by
- 268 名前:デフォルトの名無しさん [2008/03/18(火) 01:34:41 ]
- 先日放送されたクローズアップ現代(NHKの番組)によると、
日本のプログラマ人口は20万人だそうです(かなり不足して いるらしい)。この20万人の中で、C++の言語機能を一通り 理解して、STLやBoostなどのライブラリをそれなりに使い こなすことのできるプログラマは何人ぐらいだと推測しますか? あなたは20万人の中で上位何パーセントの層に属しますか?
- 269 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:41:05 ]
- マ板で聞いてこいやボケが
- 270 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:49:52 ]
- 今は高度なソフトウェアの需要が少ないので
(そういう会社の数が激減したと言うか) 国内でスキルを持っていても活躍の場があまりない気がする。
- 271 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:53:09 ]
- >>269
やっぱり?でもマ版に入り浸っている人じゃなくて、 具体的なC++の質問に答えられる人にききたいんです。
- 272 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:58:25 ]
- C++経験者が30%、うち上記条件を満たす人間が30%と感覚で決めつけたとして
20*0.3*0.3=1.8くらいとかだったらいいなぁ・・・
- 273 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 02:02:42 ]
- boostともかく、STL使わないC++って、どういう使い方してたら発生するんだろう。
C++経験あったらSTLも使ってるんじゃないの? (単純な疑問文です。)
- 274 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 02:11:44 ]
- MFCオンリーなんて人もいるんじゃね?
- 275 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 02:16:14 ]
- なるほど。
- 276 名前:268 [2008/03/18(火) 02:19:12 ]
- >>273
STLを使ってるといってもいろいろなレベルがあります。 vectorぐらいは誰でも使っていると思いますが、 コンテナとアルゴリズムを駆使して、コンパクトで エレガントなプログラムを書くとなるとどうでしょうか? >>268では "それなりに使いこなすことのできる" 人の数 を問題にしています。
- 277 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 03:55:52 ]
- STLのアルゴリズムは必ずしも最適解ではないからなぁ
- 278 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 04:54:27 ]
- >>268
2000人もいないだろ
- 279 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 05:10:49 ]
- わがまま言ってんじゃねえ
マ板に行け
- 280 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 09:06:30 ]
- STLやBoostを使えるのが、プログラマ人口の上位とは限らんすぃ
- 281 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 10:10:38 ]
- しかし、C言語しか使えない、もしくは、C/C++両方使えないのは、下位ケテーイ。
Boostって組み込みじゃ氏んでもツカエンよな。
- 282 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 10:34:45 ]
- C や C++ が必要とされる分野って、コンパクトでエレガントなコードよりも
効率が良くて高速なコードが要求されることが多いような気がする。 両立できればいいんだろうけどさ。
- 283 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 10:39:42 ]
- つまり、C/C++でエレガントなコードが書けたら上位けてーい。
- 284 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 10:40:29 ]
- C や C++ が必要とされる分野って、
開発環境がそれしかサポートしてないだけ
- 285 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 10:46:29 ]
- つまり、今の組み込みの分野。
C++はじまた。 M$/V$オワタw
- 286 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:49:08 ]
- >>268
活躍の場って組み込み系か? DB系だとCなんかよりJava VB C#のほうがラクだし需要あるし ダカラナニ?って感じなんだが。 仮にその上位ってやつだったとして 給料が高くなる保障があるわけでもないし くだらない話題だと思わないわけでもないかもしれない可能性がある
- 287 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 22:12:54 ]
- 組み込みでC++使うにはSTLやBoostを使いこなす事とは別ベクトルのノウハウが要るよ
- 288 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:14:02 ]
- 言語に特化した知識だけじゃたかが知れてる。
でも・・・C++かわいいよC++
- 289 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:14:44 ]
- ダメな子ほどかわいい(ぼそ
- 290 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:19:20 ]
- STL、Boostがあるからなんとか付き合っていけるんです。。。
- 291 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:21:46 ]
- STL、Boost使ってるけど、「shared_ptrを自分で書け」って言われても多分書けない俺はゴミ?
- 292 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:28:22 ]
- プログラマとライブラリアンは全然別だから気にすんな。
- 293 名前:オガちゃん ◆tyvkWCNtzY mailto:sage [2008/03/18(火) 23:39:50 ]
- STL/boostは可汎的なライブラリで、これそのものを設計、開発するならそりゃ相当のスキルを要するかも?この世にまだこれらが無かったって前提で
最善の選択肢とは限らないし だけど可汎的だから使うのはさほど大変じゃないと思う…が、使いこなすのはやはり難しいかも JAVAのステータスがどんどん上がってC++のオブジェクト指向開発してるPRJ減ってきたような C++でも構造体をpackしてmemcpyしてるのざらだもんなあ 今のPRJはユースケース駆動モデル(Rational統一プロセス)でOOPに加えてAOP的発想あるが… スレ違いスマソ
- 294 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 03:27:01 ]
- テンプレートが絡むとソースが美しくないんだよなぁ、なんか。
- 295 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 04:13:55 ]
- おまえさんの美意識は知らんが、
型指定が冗長だからtypedefかヘルパー関数の嵐になるのは仕様。 C++0xのautoで解決されるのも仕様。 既存のライブラリをC++0x用にせっせと書き直す作業が待っているのも仕様。
- 296 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 07:23:45 ]
- 解決はされないんじゃないかなあ。
メンバ変数に書く際には auto じゃどうしようもないだろうし。
- 297 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 09:42:06 ]
- template typedefが欲しい
- 298 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 10:15:40 ]
- >>295
既存のライブラリをわざわざC++0xでしか通らないように書き換えたりするの?
- 299 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 10:20:21 ]
- >>295
コイツは。。
- 300 名前:デフォルトの名無しさん [2008/03/19(水) 15:42:21 ]
- この言語って機能が多すぎて大人数でプログラム組むの大変じゃない?
- 301 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 15:45:27 ]
- なんで?
- 302 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 15:50:05 ]
- 多分MFCの話じゃね?それならそのとおり。
でも純粋C++なら安定部品を作ればよいだけ。
- 303 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 16:22:00 ]
- 一口に「C++使える」と言っても、人によってその差は大きいから、
できる人からできない人まで集まってしまうという点では大変だと思っている。 同じようなレベルの人同士でならそう大変でもないはず。
- 304 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:28:32 ]
- まるで自分はできるとでも言ってるかのよう
- 305 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:01:01 ]
- CとC++の差が分かってない人がほんと増えた気がする
だから困るかっていうと困るほどのものでもないんだが
- 306 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:02:16 ]
- >>305
C++がUNIXモンリーで単なるC言語のプリプロセッサだったころの、 クラスって何、 の時代しってんのかぁ?ゴルァ。
- 307 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:05:18 ]
- 俺が憶えた頃は、まだ一部のコンパイラでは
C++から一旦Cのコード吐いてからコンパイルしてたな。 もちろん例外処理なんて粋なもんは無かった。
- 308 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:06:45 ]
- まるで見当違いな>>306の突っ込みはいかがなものかと思う今日この頃
>CとC++の差が分かってない人がほんと多かった気がする ~~~~~~~~ なら分かるんだけどね、ってどうでもいいスレ違い続けてんじゃねえ!ゴルァ。
- 309 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:09:53 ]
- いちいちコメントしないと気がすまない奴らばかりだな
STLの話しろや
- 310 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:10:51 ]
- イテレータンが無いとSTLの話できない椰子らw
- 311 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:14:28 ]
- できるできないとかどんだけ春なんだよ。
できて当たり前。 できないのは単にやってないか馬鹿だから。
- 312 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:17:11 ]
- STL、boostに関しては、それはいえない。
一通りやり終えるまでどんだけ。
- 313 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:17:16 ]
- でもさSTLとかも使ってないと忘れるよな。
おれ深く勉強したけど、もう1年くらいやってないから 忘れてるわC++ アハハハ
- 314 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:19:51 ]
- STLでなくても、1年あれば何だって忘れる。
- 315 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:00:49 ]
- スマートポインタが用意されているのに使わない人がいるとちょっとあれーと思ってしまう。
- 316 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:12:57 ]
- shared_ptrはBoostだから使わなかった、使えなかったという人がいたら、
TR1の普及で使うようになってくれるといいな。
- 317 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:19:42 ]
- Boostがなくてもメイヤーズの本見て作っておけばいくらでも使えたはず。
- 318 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:54:44 ]
- Boost/TR1が多数の現場で使えるようになるまで
何年かかることやら
- 319 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:46:08 ]
- shared_ptr っぽいものは boost とは別のライブラリに用意されてるけど
ほとんどの人が使ってない罠。 まずは啓蒙からだな・・・。
- 320 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:51:21 ]
- shared_ptr使わないなんてあり得ないな、おれは。自分でdeleteなんて嫌だよ。
もうそんな時代ではない。細部を理解する必要はあるけど。それこそメイヤーズ みたいな貴重な本があるし。
- 321 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:55:19 ]
- Boost だから使えない、というような微妙な状況のときは、
自家製の refcount_ptr とか適当に作っちゃうなぁ。 代入や解放をスレッドセーフにしたいときとかも。
- 322 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:56:42 ]
- でも、scoped_ptr や auto_ptr で済む状況も多いと思う。
shared_ptr まで必要になるのって意外と少ない気がする。
- 323 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:00:51 ]
- Boostだって素人が作ってるわけではないし、むしろエキスパートが作ってる
んだから何が不満なんだよと言いたい。それとも何処の馬の骨とも分からないやつ が作った自作ライブラリのほうが安全なのかよと。上司に言いたい。
- 324 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:05:42 ]
- こういった場合安全性よりライセンスが問題になることが多いが、
boost のライセンスってゆるゆるだよね?
- 325 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:13:21 ]
- 場合によっちゃあソースコードレビューの対象にせざるを得ないから
(& Bootst はレビューしたくないから) 自前で書く、ということもあるな。
- 326 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:14:49 ]
- あれだけレビューされてる boost を
もう一度レビューするのも車輪の最発明と大して変わらない作業のような。
- 327 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:16:08 ]
- ライブラリのプロが書いたソースを一般レベルのプログラマがレビューするのって
滑稽じゃね?と上司に言いたい。
- 328 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:18:08 ]
- STL もレビューしてんの?
あんなの読みたくもないが。
- 329 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:56:08 ]
- 勉強になっていいじゃん >327
- 330 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:12:25 ]
- まあ勉強会としてはありかもしれない,、。
- 331 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:34:26 ]
- VS付属とSTLPortの実装を比べた事はあったなー。おもしろかった
- 332 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 05:11:22 ]
- 小ささと速度を求めて、shared_ptr => intrusive_ptr => 俺スマートポインタ、と移行したことならある。
intrusive_ptr::operator=()が、いわゆる「スワップ技法」使ってるんだけど、これがBCB6だと遅くて。 こういう「局地的な場面」でまでboostを絶対視するのはいかんってことだね。 概ね信じろ、しかし盲信はするな、と。まぁ当たり前のことなんだけど。
|

|