1 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 09:00:48.11 ID:4p3tjfYN] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part111 toro.2ch.net/test/read.cgi/tech/1393539884/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.90【環境依存OK】 toro.2ch.net/test/read.cgi/tech/1395675954/ 次期規格C++1yはこちら C++14/C++1y toro.2ch.net/test/read.cgi/tech/1382889622/ ■長いソースを貼るときはここへ。■ codepad.org/ ideone.com/ 【重要】 hogeは禁止です。使用しないでください。 万が一hogeが書き込まれても、スルーしてください。 相手にするとあなたも荒らしと同じ扱いになります。
548 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 22:40:44.83 ID:wGifsmD2] >>545 それ前にもこの板で議論になってなかったっけ? Effective C++には基底クラスのデストラクタが virtual でない場合その動作は不定 と書かれているけど規格票にはそんな記述は見つからないってオチだったと思うんだよね 実際そのコード、VCやGCCではメモリリークしなかったはず^q^)<記憶があいまーい
549 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 22:50:29.48 ID:wGifsmD2] >>546 ないのごめんね^q^; 今調べたらテストケースの後始末用メソッドなのね^^; 勉強になるます
550 名前:KUSO KOTE ◆unko./w.Osri mailto:sage [2014/05/15(木) 23:04:05.84 ID:5j1qCAsn] >>548 そんなことはないと思うのだけれど。 5.3.5p3 『the static type shall be a base class of the dynamic type of the object to be deleted and the static type shall have a virtual destructor or the behavior is undefined』
551 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 23:09:54.94 ID:hg+yUWIx] CppUnit::TestFixtureが仮想デストラクタ持ってた場合、 派生クラスのfooTest,foo2Testに暗黙の仮想デストラクタつかない?
552 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 23:11:46.39 ID:wGifsmD2] >>550 unkoさんいつもありがとうございます^q^ また勉強になりますた
553 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 23:12:20.04 ID:Dz76ACJj] 実際にVC++でリークしてるぞ
554 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 23:21:41.85 ID:HJXbd8na] unkoは邪魔にならない糞コテ
555 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 23:35:25.60 ID:eaRTBJfl] >>548 derived が持ってる std::string s のデストラクタは誰が呼ぶかわかるか?
556 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 00:24:37.99 ID:UHWRh+RQ] 生ポだめ
557 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 02:10:11.03 ID:DN7u20iG] >>548 gcc ではリークする ideone.com/JNN7qQ ideone.com/xwEFOm
558 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 08:43:44.38 ID:ZItW3w93] int* a = new int; shared<int> b = a; shared<int> c = a;
559 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 13:22:58.62 ID:2kpp8nP1] >>557 VCは15文字以下ならば直接メンバに置かれるからリークしないだろうね もちろんこんな実装依存の振る舞いに頼っちゃいけない
560 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 13:31:42.25 ID:mI+a74mQ] リークしないからといってvirtualを付けないヤツは馬鹿
561 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:04:43.46 ID:WkQFj0ZD] リーク以前に親と子のアドレスは異なることがあるわけだし その場合 mallocの結果と違うアドレスをfreeして 無事なわけないだろう
562 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:21:39.72 ID:2kpp8nP1] 親と子のアドレスが異なることってありえなくね? 子から親へstatic_castできないじゃん
563 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:33:40.21 ID:jyQ1Wi3G] 親と子っていい方する? あと2重継承の場合はアドレス違うよね
564 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:38:20.44 ID:2kpp8nP1] まあ2重の場合はちゃうわな その場合は基本クラスのリストの最初のものと一致する保証があったようななかったような
565 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:47:04.44 ID:igo/DCLE] 仮想関数テーブルが入ってくるからしないようなするような
566 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 16:00:24.75 ID:2kpp8nP1] *vtableがあるなら>>561 だな 流れ的に>>545 の話だからまあそこはクリアで
567 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 16:21:56.27 ID:9/CaAvIs] 実際のコンパイラーの動作としてアドレスが異なるのは 多重継承の時と仮想継承の時
568 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 17:34:58.68 ID:FtAN8YgB] >>562 >子から親へstatic_castできない why?
569 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 18:18:25.41 ID:2kpp8nP1] >>568 うむ・・・なんか変な事言った。こういうキャストできないはずがないもんな ttp://ideone.com/u4TEhf
570 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 18:49:01.87 ID:do9B1v/N] >>559 1文字だろうがリーク起きてるだろ
571 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 20:04:44.83 ID:6gqc4dUa] 何でこの議論がまだ続いてんだ?
572 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 23:39:24.50 ID:jkvScUHA] これってどう解釈すればいいの? アドレス 値 0x00000100 40000 0x00000101 0 0x00000102 0 0x00000103 0 ...
573 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 23:43:52.48 ID:yzYaqda/] 「>>572 はコミュニケーション障害」 と理解した
574 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 23:50:21.89 ID:a2G3KqVr] >>572 よく分からんが、1バイト領域に「40000」が入るのっておかしくね
575 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 00:06:11.14 ID:kpm9Xhi5] コードが池沼
576 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 00:32:39.90 ID:u0GFIGUv] そのような結果を出力するコードを書いたからだろ
577 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 07:07:08.69 ID:uX7tOWvA] >>574 ワードマシンかも...
578 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 10:21:29.97 ID:SbmylFCz] >>574 だからどう解釈すればいいのかたずねてんじゃん
579 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 10:42:36.59 ID:I/SnI2sh] >572はバカ
580 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 11:06:35.02 ID:u0GFIGUv] どんなコードを書いたか晒せば一発で回答が来る
581 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 11:11:05.70 ID:SbmylFCz] ベンダーが提供していたツールからコードなんてねーんだよ
582 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 11:15:56.55 ID:VDcROSia] 怒ってんの?しゃぶってよ(´・ω・`)
583 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 12:00:55.14 ID:SbmylFCz] いいお
584 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 12:04:26.41 ID:Ut3rni4+] 少なくとももっと大量のアドレスに対する値が得られないとリバースエンジニアリングはできんわな・_・
585 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 12:23:07.27 ID:I/SnI2sh] ここはC++スレだろ? C++のソースが無いならここで訊くな
586 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 12:45:56.29 ID:SbmylFCz] >>585 のどこにC++のソースがあるのかしらん?
587 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 13:10:20.41 ID:mZoB3wPV] DSPならあり得るけどね
588 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 13:33:34.05 ID:R4olBPWV] >>587 1アドレスに最低16bit入らないと……ん、あり得なくはないのか
589 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 13:58:51.61 ID:d2QcpThl] 多重継承の場合、最も基底のクラスが仮想デストラクターを 持っていればいいのではないのですか? 上の場合 CppUnit::TestFixtureに仮想デストラクターがあればいいんですよね。 しかもClangのコンパイラーの場合、仮想デストラクターが無ければ無いという 警告を出すし、それが出ないことからCppUnit::TestFixtureは仮想デストラクターを 持つことが推測されますよね。
590 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 14:08:36.33 ID:kpm9Xhi5] エラーメッセージも晒さないで記憶喪失装っているクソヤロウのことなんかどうでもいいじゃん
591 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 14:22:43.93 ID:mZoB3wPV] >>588 いぁSHARCだとdmのデータ幅は40bitだ。
592 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 14:36:49.43 ID:R4olBPWV] >>591 流石DSP、PCでの常識が通用しないな…… まあID:jkvScUHAが出てきてくれんとどうにもならんか
593 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 14:39:55.51 ID:d2QcpThl] >>589 についてどう思いますか?
594 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 14:52:12.24 ID:mZoB3wPV] >>592 まぁドラッグマシーンみたいなものだしな
595 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 22:07:22.70 ID:IfYsM+gZ] 民家の屋根に設置してあるテレビアンテナって、四方を針金で引っ張って固定してるタイプ多いよね。 あれ見て宇宙人が地球との交流を見合わせたって話をどこかで聞いた。
596 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 22:27:44.43 ID:IfYsM+gZ] すみません。完全に誤爆しました。
597 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 08:34:15.21 ID:OmC98YTB] どんな誤爆やねん そしてどうしてそれで宇宙人がドン引きしたのか理由がわからん^^
598 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 09:18:13.59 ID:2cYQQGni] 伊能忠敬の日本地図に驚いて欧米諸国がドン引きしたのは事実
599 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 10:05:14.30 ID:Bbl89lAs] >>597 宇宙人は高度な文明を持った仲間との交流を求めて旅している。 針金でアンテナを固定しているさまを見て、「ダメだこりゃ」と判断した。
600 名前:デフォルトの名無しさん [2014/05/18(日) 11:56:29.18 ID:0kvX68pZ] maguro.2ch.net/test/read.cgi/pc2nanmin/1372918692/145 ↑ ↑ ↑ ↑ ↑
601 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 12:07:45.59 ID:BMv+P6U/] >>598 欧米は驚愕した! 日本人の、技術力ではなく奴隷としての性能に! そしてこの優秀な労働力を是が非でも手に入れたいと考えた!!
602 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 13:44:44.78 ID:BMv+P6U/] >>597 各家庭がレーザー発射装置で武装していると勘違いしたんだよ
603 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 14:28:39.28 ID:NvT/vy/q] 池田菊苗が旨味を発見した時も欧米人ドン引き
604 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 14:59:36.82 ID:+bye9+6c] >>601 まぁテョンは金貰ってもいらんわな
605 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 15:34:12.79 ID:DIHfwpMS] >>603 旨味の文化がない朝鮮がどのツラ下げて言ってるんだ
606 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:01:53.69 ID:qBdg6XNI] Class * a=new Class(); aが定義されています。 しばらくプログラムの処理が続き時間が経過しました。 ポインターaの指し示すClassの実体の データが更新されたかもしれません。 それを知るにはどうしたらいいですか? aが定義された直後にaのポインターaの指し示すClassの実体を別の場所にコピーしておいて 更新されたか調べるときにそれと比べることはコピーに時間がかかるのでできません。
607 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:05:04.65 ID:HfTaDQys] メッセージ飛ばすなりイベント登録させるなりご自由に
608 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:07:51.40 ID:tLtdhy1h] 過去の状態を完全に忘れるとして、更新を知る手段はあるだろうか?
609 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:10:28.24 ID:HfTaDQys] 内部データのハッシュを出力するメンバを作っといてそれを比較するって手はある
610 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:11:03.61 ID:mxK7K6eG] >>606 例えば、 ・そのクラスのメンバ変数に「中身を変更したフラグ」を作成 ・メンバ変数の中身を変更するメンバ関数にフラグを立てる処理を入れておく ・チェックする際はそのフラグを調べるメンバ関数を呼び出せばOK っていうのはダメ?
611 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:11:17.63 ID:/174+P6q] オブザーバーパータンとか
612 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:12:32.46 ID:qBdg6XNI] ちなみにaに絶対被らないIDを持たせてそのIDだけをコピーしておくというのは 考えたんですけど、aが同じ状態になると同じIDを持つようにするのは 難しいのであきらめました。
613 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:14:39.03 ID:mxK7K6eG] >>612 二度変更した時に元に戻る可能性もあるんなら、 >>609 のような手はダメなん?
614 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:15:48.13 ID:HfTaDQys] >>610 それは利用する側が単一であるなら成り立つけど、あんまりいいスジじゃねぇな >>612 ハッシュについてちょっと勉強したほうがええ
615 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:31:15.46 ID:k9Qc46s/] 別の所にコピーしておくのすら時間がかかって駄目ってことは、ハッシュの計算も駄目じゃね?
616 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:37:05.66 ID:HfTaDQys] >>615 なにも毎回チェックするごとに再計算する必要はない 内部状態を変更するメンバの中でハッシュを再計算するように実装すればいいんだから 変更にたいして利用頻度が圧倒的に多い問題はよくある
617 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:41:52.77 ID:tLtdhy1h] >>616 変更を監視して実装なら>>610 で充分なのでは
618 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 12:46:47.58 ID:HfTaDQys] >>617 2つ以上のコンテキストから呼ばれる場合に破綻する そういう状況じゃないなら別にいいけど、リーダから馬鹿にされそうな設計だとは思う
619 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 13:03:47.47 ID:qBdg6XNI] すいませんクラスをどうやってハッシュに変換できるんですか?
620 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 13:07:48.67 ID:/174+P6q] そりゃメンバ変数からごにょごにょするんだよ
621 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 13:11:09.52 ID:HfTaDQys] >>619 変更ごとに一意であればよいのならハッシュする必要すらないよ 非constなメンバを呼ぶ毎に値を増分してその値をIDとして返せばいい そうでないならメンバ変数をガサっとsha1にでもかけろ。たいていライブラリやAPIがある
622 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 14:21:37.21 ID:vf7EZdTJ] >>610 とID:HfTaDQysの言ってることってほとんど同じなような気がするんだが
623 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 15:28:26.29 ID:qBdg6XNI] Class * a=new Class2(); Class * b=new Class3(); この状態でaとbを*a==*bで比べたいんですよ。 ここでClass2とClass3の==の定義は void operator==(Class a,Class b); になるとおもうんですけど、 基底のClassの部分しか見えないから比べようがないですよね。
624 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 15:35:41.23 ID:/174+P6q] dynamic_cast
625 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 15:57:44.70 ID:BIei0SY0] Classの仮想メンバ関数にvirtual bool equals(Class const& other) const;でも定義して子クラスのequalsでdynamic_castすればいい 後はフリー関数にClass const&を二つとるような比較関数でも作ってラップしたらいい
626 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 18:00:02.01 ID:zHXgCe3L] >>618 > 2つ以上のコンテキストから呼ばれる場合に破綻する どういう意味?
627 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 18:05:41.35 ID:zHXgCe3L] >>622 だね、フラグかカウンタかの違いしかないと思う。 あと、変更するメソッド呼ばれたけど、値自体は変更しなかった (今の値と同じ値を書き込んだ) 場合は変更と見なすの? それとも、無変更? ⇒ >>606
628 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 19:03:35.75 ID:BIei0SY0] >>627 >>612 とあるので内部状態が同じなら無変更とみなすのだろうし、それならequals()のようなメンバ関数を作ればいい
629 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 19:16:06.95 ID:HfTaDQys] >>627 変更を内部フラグで知るなら必ずその「フラグをクリアするメソッド」が存在するわけ 一方の利用者が変更をチェックしてそのフラグをクリアするともう片方の利用者は変更を知ることができない だからそのクラスの利用者が一人であればフラグでいいけど、アルゴリズムとしては全然違う
630 名前:デフォルトの名無しさん [2014/05/19(月) 19:17:47.65 ID:WTOS6QfZ] いいから黙ってメッセージかコールバックによるイベントパターン使えよ 悩むようなところじゃない
631 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 19:27:05.41 ID:HfTaDQys] >>623 operator==(Class a,Class b) を定義するなら基底のClassだけで比較できなきゃおかしいじゃんよ
632 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 19:51:58.60 ID:BIei0SY0] 参照で引数とればスライシングされないからどうとでもなる ttp://melpon.org/wandbox/permlink/AP8ONiXSVGQMLYER
633 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 20:05:23.84 ID:wR4uca6O] > aが定義された直後にaのポインターaの指し示すClassの実体を別の場所にコピーしておいて > 更新されたか調べるときにそれと比べることはコピーに時間がかかるのでできません。 こう書いてあるから==やequalsは相応しくないよね。
634 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 20:10:30.04 ID:BIei0SY0] >>612 ,>>623 とあるから等値比較が出来れば足りるんじゃないかと思ったんだけどそうでもないのかなあ
635 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 20:11:15.92 ID:HfTaDQys] >>633 つか ID:qBdg6XNI は自分のやりたいことがわからなくなってるか釣りだと思えてきた
636 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 20:27:27.86 ID:9mfdpPTy] >>634 ホントだw 比べたいとか言ってるの見逃してたw >>635 そもそも、今回の話どこが一番臭いかっていうと、 「コピーに時間がかかるのでできません」って部分だなw リアルタイム性というわけでもなさそうだから、 どんだけクソデカイクラスになってんだよって予感。
637 名前:デフォルトの名無しさん mailto:age [2014/05/19(月) 20:40:31.80 ID:u0kYoYP8] 静的なポインタってある? なんかイメージ出来ない
638 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 22:26:12.91 ID:rJXEGLj9] >>636 単なるコンテナってこともあるかも
639 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 22:29:47.82 ID:mLyDgbnZ] >>35 このスマポという奴を使う場合 ud[n][2]の2のほうも変数にする方法は有りますか?
640 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 22:33:10.57 ID:mLyDgbnZ] 投稿先639間違えました
641 名前:デフォルトの名無しさん [2014/05/19(月) 23:05:31.75 ID:0GDAGnvz] >>637 static int a[10000]; int *p = a;
642 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 23:13:45.98 ID:uxNA84mc] >>637 シングルトン
643 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 23:59:41.23 ID:R0sc+CFe] >>628 > >>612 とあるので内部状態が同じなら無変更とみなす なるほど、純然に内部状態で判断するのか > それならequals()のようなメンバ関数を作ればいい データがでかいとかで比較が大変なんだろ。 高速化の手法は色々あるだろうけど、データ構造見ないとなんとも言えないな。
644 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 00:01:06.13 ID:qEC6acDv] >>637 const char* p = "static";
645 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 00:03:32.07 ID:bpam5xUn] >>629 ハッシュ計算するのはいいけど、なにと比較するんだ? そして、その比較対象の値をいつ設定して、いつ更新すべきかを考えてごらん。 自分がどんだけアホなこと言ってるかわかるから。
646 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 00:07:51.25 ID:94D84veD] >>645 がかわいそうだから相手してあげて!
647 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 00:07:52.06 ID:qEC6acDv] >>641 a→b→c→b→a って推移して現在の状態が「a」のとき、比較対象は最初のaかもしれないけど2番目のbであることもあるんだよね?
648 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 00:43:06.04 ID:ROp5ZExO] >>646 アホは要らんよ (w
649 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 01:46:10.92 ID:isLDQHzO] std::shared_ptr::operator==とかでよくね?