Appleのヘッダで廃止されているため、OSAtomicAdd32
の代替品を探しています。 C++ 11の変種は何ですか?C++のOSAtomicAdd32の変種11
1
A
答えて
2
C++ 11の方法は、std::atomic_int_32_t
またはstd::atomic_int
(ご使用のシステムにsizeof(int) == 4
)を使用することです。これらのタイプは、ヘッダ<atomic>
から含めることができ、それらのリファレンスページはhereです。
+0
さて、変数を 'std :: atomic_int_32_t'型にしてから、' + = 'を使ってアトミックな加算を行います。これは 'OSAtomicAdd32'モデルからの変更であることに注意してください。これにより、任意の(適切に配置された)変数に対してアトミックな操作を行うことができます。 C++アトミックでは、アトミック変数に対してアトミック操作を行うことしかできませんが、そのような変数の*すべての操作はアトミックであることが保証されています。 –
関連する問題
- 1. C++でのシェア変数11
- 2. C++ 11可変テンプレートテンプレートパラメータ
- 3. C++ 11 condtional変数
- 4. C++ 11クラスの種類を削除しますか?で
- 5. C++ 11 boolへのbasic_istream変換
- 6. C++ 11個の可変長引数
- 7. vxworksのC++ 11
- 8. テンプレート引数の種類C++での除算が失敗する11 <type_traits>
- 9. C++ 11 visual_studioでのthread_localキーワードのサポート11
- 10. C++ 11とC++ 14のconstexpr
- 11. C++のミューテックスBEFORE C++ 11
- 12. ブースト/ C++用のC++ラッパー11
- 13. const &&のC++ 11バインディングルール
- 14. のstd :: for_each、C++ 11
- 15. ブースト機能は、C++ 11ではC++ 11の生の文字列
- 16. C++ 11:可変引数テンプレート控除ロジック
- 17. C++テンプレートの種類
- 18. C++ 11標準状態のC++ 11標準
- 19. C++ 11 - このQt文をC++ 11で作るには? QtのCで
- 20. C++ 11のテンプレートのサブタイプ
- 21. g ++でのチェーンコンプライアンスのC++ 11
- 22. ラズベリーパイのC++ 11コードのクロスコンパイル
- 23. C++でのスレッドのパフォーマンス11
- 24. コンストラクタへのC++ 11のパスベクトル
- 25. C++ 11ファイルシステム(VS2012)
- 26. はC++ 11
- 27. C++ 11オペレーター ""
- 28. C++ 11ファイルストリーム
- 29. C++ 11マルチスレッドマージソート
- 30. はC++ 11
http://en.cppreference.com/w/cpp/atomic/atomic? – Borgleader