- 1 名前:デフォルトの名無しさん mailto:sage [2014/12/18(木) 13:46:24.42 ID:Mboq20NA]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part114 peace.2ch.net/test/read.cgi/tech/1408743258/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.94【環境依存OK】 [転載禁止]2ch.net peace.2ch.net/test/read.cgi/tech/1417179292/ 次期規格C++1yはこちら C++14/C++1z 20 peace.2ch.net/test/read.cgi/tech/1410382924/ ■長いソースを貼るときはここへ。■ codepad.org/ ideone.com/
- 369 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 19:11:45.23 ID:XxVOSZ3z]
- コンパクション(メモリのデフラグ)も行うコピーGCのことを言っているんじゃないかと
しかし、時代はGCじゃないよねぇ。時代は参照カウントだよ。 C++11でも、shared_ptrが追加されたし。 シンタックスがどんどん汚くなっていくのはC++の悲しいところだな。
- 370 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 19:24:03.99 ID:Ey7XFEeM]
- >時代は参照カウントだよ
へー、そいつは凄いな
- 371 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 22:59:26.61 ID:Y26C2d1q]
- そういや、shared_ptr ってオブジェクトレベルでマルチスレッド対応してるんかな?
- 372 名前:デフォルトの名無しさん [2015/01/06(火) 23:01:02.23 ID:a1JT3SDg]
- >>242
遅くなりましたがあなたのお陰で解決しました。ありがとうございます!
- 373 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 23:11:59.71 ID:Z2lMmRuz]
- >>371
標準ライブラリは「constメンバ関数=マルチスレッド対応」で統一していたはずだが
- 374 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 23:53:02.99 ID:kiKfNKwr]
- >>369
シンタックスそんなに汚いかなあ、C++11
- 375 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 00:17:19.84 ID:Y9yyLQNc]
- >>373
じゃあ、コピーコンストラクタや代入演算子はダメなのかねー。 スマポの魅力半減。 昔、参照カウンタ方式のstringでエライ痛い目みたからなー…
- 376 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 00:20:45.94 ID:A8Vu2ukb]
- >>375
代入はだめだろ けどコピーコンストラクタは、仮にもコンストラクタだし、オブジェクトを構築してるスレッド以外から手の触れようがないと思うが
- 377 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 00:23:58.83 ID:J9Js0gVS]
- shared_ptr自体はマルチスレッドに対応してるだろ
マルチスレッドでどれだけ参照を増やそうが減らそうがdeleteされなかったり2重deleteしたりしない
- 378 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 07:10:13.57 ID:Re9e7Fnn]
- それは君の環境で「自分で同期したら問題なく動いた」ってだけでは?
- 379 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 09:05:13.51 ID:DkZd7T6D]
- 異なるshared_ptrに対する操作ならデータ競合を起こさないことが保証されてるよ
ttp://faithandbrave.hateblo.jp/entry/20130328/1364463249 同じshared_ptrに対する更新などの操作をデータ競合を発生させずに行うためのものも提供されてる ttp://en.cppreference.com/w/cpp/memory/shared_ptr/atomic
- 380 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 09:13:45.90 ID:v+HQiVT1]
- WinのInterlickedExchage関数, QtのQAtomicIntみたいなもんか
型がTなのでより進化してるけど
- 381 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 13:47:42.98 ID:rq5tkzs4]
- >>379
それと所有するオブジェクト自体を複数のスレッドから操作する場合はmutexが必要になると。
|

|