1616
1717 < meta charset ="UTF-8 ">
1818
19- < title > std::atomic_store_and_explicit - cpprefjp C++日本語リファレンス</ title >
19+ < title > std::atomic_store_xor_explicit - cpprefjp C++日本語リファレンス</ title >
2020
2121 < meta name ="viewport " content ="width=device-width,initial-scale=1 ">
2222 < meta name ="keywords " content ="
2323 C++,標準ライブラリ,リファレンス,ドキュメント,STL,std,atomic,std,function template,cpp26
2424 ">
25- < meta name ="title " content ="std::atomic_store_and_explicit - cpprefjp C++日本語リファレンス " />
26- < meta itemprop ="name " content ="std::atomic_store_and_explicit - cpprefjp C++日本語リファレンス " />
27- < meta property ="og:title " content ="std::atomic_store_and_explicit - cpprefjp C++日本語リファレンス " />
25+ < meta name ="title " content ="std::atomic_store_xor_explicit - cpprefjp C++日本語リファレンス " />
26+ < meta itemprop ="name " content ="std::atomic_store_xor_explicit - cpprefjp C++日本語リファレンス " />
27+ < meta property ="og:title " content ="std::atomic_store_xor_explicit - cpprefjp C++日本語リファレンス " />
2828 < meta property ="og:url " content ="https://cpprefjp.github.io/reference/atomic/atomic_store_xor_explicit.html " />
2929 < meta property ="og:site_name " content ="cpprefjp - C++日本語リファレンス " />
3030 < meta property ="og:type " content ="article " />
31- < meta property ="og:description " content ="値を読み込まずにアトミックにANDを行う 。 " />
31+ < meta property ="og:description " content ="値を読み込まずにアトミックにXORを行う 。 " />
3232 < meta name ="twitter:card " content ="summary " />
33- < meta name ="twitter:title " content ="std::atomic_store_and_explicit - cpprefjp C++日本語リファレンス " />
33+ < meta name ="twitter:title " content ="std::atomic_store_xor_explicit - cpprefjp C++日本語リファレンス " />
3434 < meta name ="twitter:url " content ="https://cpprefjp.github.io/reference/atomic/atomic_store_xor_explicit.html " />
35- < meta name ="twitter:description " content ="値を読み込まずにアトミックにANDを行う 。 " />
35+ < meta name ="twitter:description " content ="値を読み込まずにアトミックにXORを行う 。 " />
3636
3737
3838 < link rel ="alternate " type ="application/atom+xml " title ="Atom " href ="https://cpprefjp.github.io/rss.xml " />
6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"header": ["atomic"], "namespace": ["std"], "id-type": ["function template"], "cpp": ["cpp26"]}, "sources": [{"id": "f5177d970693b3c424af2b44a7453867e6e6f26f ", "source": "#include <print>\n#include <atomic>\n\nint main()\n{\n std::atomic<int> x(0b1001);\n\n std::atomic_store_and_explicit (&x, 0b0101, std::memory_order_seq_cst);\n\n std::println(\"0b{:04b}\", x.load());\n}\n"}], "page_id": ["reference", "atomic", "atomic_store_xor_explicit"]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"header": ["atomic"], "namespace": ["std"], "id-type": ["function template"], "cpp": ["cpp26"]}, "sources": [{"id": "fde7defa275a2fb665c8430d3920b3652764bde6 ", "source": "#include <print>\n#include <atomic>\n\nint main()\n{\n std::atomic<int> x(0b1001);\n\n std::atomic_store_xor_explicit (&x, 0b0101, std::memory_order_seq_cst);\n\n std::println(\"0b{:04b}\", x.load());\n}\n"}], "page_id": ["reference", "atomic", "atomic_store_xor_explicit"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
171171 < span >
172172
173173
174- < span itemprop ="name "> atomic_store_and_explicit </ span >
174+ < span itemprop ="name "> atomic_store_xor_explicit </ span >
175175
176176
177177 </ span >
189189 < p class ="text-right "> < small >
190190 最終更新日時:
191191 < time itemprop ="datePublished " class ="js-local-time "
192- datetime ="2025-10-10T13:00:13 +09:00 ">
193- 2025年10月10日 13時00分13秒 (JST)
192+ datetime ="2026-09-15T14:49:37 +09:00 ">
193+ 2026年09月15日 14時49分37秒 (JST)
194194 </ time >
195195 < br />
196196 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
197- < span itemprop ="name "> Akira Takahashi </ span >
197+ < span itemprop ="name "> rotarymars </ span >
198198 </ span >
199199 が更新
200200 </ small > </ p >
236236 < div class ="row ">
237237 < div class ="col-sm-12 content-body ">
238238
239- < div class ="identifier-type "> function template</ div > < div class ="header "> <atomic></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="token "> atomic_store_and_explicit </ span > < span class ="cpp cpp26 " title ="C++26で追加 "> (C++26)</ span > </ h1 >
239+ < div class ="identifier-type "> function template</ div > < div class ="header "> <atomic></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="token "> atomic_store_xor_explicit </ span > < span class ="cpp cpp26 " title ="C++26で追加 "> (C++26)</ span > </ h1 >
240240< div itemprop ="articleBody "> < p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k "> namespace</ span > < span class ="w "> </ span > < span class ="nn "> std</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
241241< span class ="w "> </ span > < span class ="k "> template</ span > < span class ="w "> </ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> T</ span > < span class ="o "> ></ span >
242242< span class ="w "> </ span > < span class ="kt "> void</ span >
243- < span class ="w "> </ span > < span class ="n "> atomic_store_and_explicit </ span > < span class ="p "> (</ span >
243+ < span class ="w "> </ span > < span class ="n "> atomic_store_xor_explicit </ span > < span class ="p "> (</ span >
244244< span class ="w "> </ span > < span class ="k "> volatile</ span > < span class ="w "> </ span > < span class ="n "> < a href ="atomic.html "> atomic</ a > </ span > < span class ="o "> <</ span > < span class ="n "> T</ span > < span class ="o "> >*</ span > < span class ="w "> </ span > < span class ="n "> object</ span > < span class ="p "> ,</ span >
245245< span class ="w "> </ span > < span class ="k "> typename</ span > < span class ="w "> </ span > < span class ="nc "> < a href ="atomic.html "> atomic</ a > </ span > < span class ="o "> <</ span > < span class ="n "> T</ span > < span class ="o "> >::</ span > < span class ="n "> difference_type</ span > < span class ="w "> </ span > < span class ="n "> operand</ span > < span class ="p "> ,</ span >
246246< span class ="w "> </ span > < span class ="n "> < a href ="memory_order.html "> memory_order</ a > </ span > < span class ="w "> </ span > < span class ="n "> order</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="c1 "> // (1) C++26</ span >
247247
248248< span class ="w "> </ span > < span class ="k "> template</ span > < span class ="w "> </ span > < span class ="o "> <</ span > < span class ="k "> class</ span > < span class ="w "> </ span > < span class ="nc "> T</ span > < span class ="o "> ></ span >
249249< span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="kt "> void</ span >
250- < span class ="w "> </ span > < span class ="n "> atomic_store_and_explicit </ span > < span class ="p "> (</ span >
250+ < span class ="w "> </ span > < span class ="n "> atomic_store_xor_explicit </ span > < span class ="p "> (</ span >
251251< span class ="w "> </ span > < span class ="n "> < a href ="atomic.html "> atomic</ a > </ span > < span class ="o "> <</ span > < span class ="n "> T</ span > < span class ="o "> >*</ span > < span class ="w "> </ span > < span class ="n "> object</ span > < span class ="p "> ,</ span >
252252< span class ="w "> </ span > < span class ="k "> typename</ span > < span class ="w "> </ span > < span class ="nc "> < a href ="atomic.html "> atomic</ a > </ span > < span class ="o "> <</ span > < span class ="n "> T</ span > < span class ="o "> >::</ span > < span class ="n "> difference_type</ span > < span class ="w "> </ span > < span class ="n "> operand</ span > < span class ="p "> ,</ span >
253253< span class ="w "> </ span > < span class ="n "> < a href ="memory_order.html "> memory_order</ a > </ span > < span class ="w "> </ span > < span class ="n "> order</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="k "> noexcept</ span > < span class ="p "> ;</ span > < span class ="w "> </ span > < span class ="c1 "> // (2) C++26</ span >
254254< span class ="p "> }</ span >
255255</ code > </ pre > </ div >
256256</ p >
257257< h2 > 概要</ h2 >
258- < p > 値を読み込まずにアトミックにANDを行う 。</ p >
259- < p > この関数は、< code > < a href ="atomic_fetch_and_explicit .html "> atomic_fetch_and_explicit ()</ a > </ code > と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は< a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > として取得できない。</ p >
258+ < p > 値を読み込まずにアトミックにXORを行う 。</ p >
259+ < p > この関数は、< code > < a href ="atomic_fetch_xor_explicit .html "> atomic_fetch_xor_explicit ()</ a > </ code > と異なり、現在の (古い) 値を読み込むことなく現在の値に演算を行うため、高速に動作する。ただし変更前の古い値は< a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > として取得できない。</ p >
260260< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数等の意味論を構成する要素の1つ。Constraints。関数であればオーバーロード解決に参加するための条件、それ以外であれば受け付ける型の条件 "> テンプレートパラメータ制約</ a > </ h2 >
261261< ul >
262262< li > 型< code > T</ code > が整数型であること</ li >
@@ -275,7 +275,7 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数等の意味論を構成
275275</ li >
276276</ ul >
277277< h2 > 効果</ h2 >
278- < p > < code > order</ code > で指定されたメモリオーダーにしたがって、現在の値に< code > operand</ code > をANDした値でアトミックに置き換える </ p >
278+ < p > < code > order</ code > で指定されたメモリオーダーにしたがって、現在の値に< code > operand</ code > をXORした値でアトミックに置き換える </ p >
279279< h2 > < a class ="cpprefjp-defined-word " data-desc ="関数呼び出し式の評価結果となるオブジェクト・値 "> 戻り値</ a > </ h2 >
280280< p > なし</ p >
281281< h2 > < a class ="cpprefjp-defined-word " data-desc ="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態 "> 例外</ a > </ h2 >
@@ -285,21 +285,21 @@ <h2>備考</h2>
285285< li > 符号付き整数型に対しては、符号なし整数型に変換されたかのようにしたあと演算が行われ、結果は符号付き整数型になる。< a class ="cpprefjp-defined-word " data-desc ="未定義の動作。処理系は予期せぬ動作をする可能性がある。要するに動作保証対象外。undefined behavior (UB)。 " href ="../../implementation-compliance.html#dfn-undefined-behavior "> 未定義動作</ a > はない</ li >
286286</ ul >
287287< h2 > 例</ h2 >
288- < p > < div class ="yata " id ="f5177d970693b3c424af2b44a7453867e6e6f26f "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../print.html "> <print></ a > </ span >
288+ < p > < div class ="yata " id ="fde7defa275a2fb665c8430d3920b3652764bde6 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href ="../print.html "> <print></ a > </ span >
289289< span class ="cp "> #include < a href ="../atomic.html "> <atomic></ a > </ span >
290290
291291< span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
292292< span class ="p "> {</ span >
293293< span class ="w "> </ span > < span class ="n "> < a href ="atomic.html "> std::atomic</ a > </ span > < span class ="o "> <</ span > < span class ="kt "> int</ span > < span class ="o "> ></ span > < span class ="w "> </ span > < span class ="n "> x</ span > < span class ="p "> (</ span > < span class ="mb "> 0b1001</ span > < span class ="p "> );</ span >
294294
295- < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::atomic_store_and_explicit </ span > </ span > < span class ="p "> (</ span > < span class ="o "> &</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mb "> 0b0101</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href ="memory_order.html "> std::memory_order_seq_cst</ a > </ span > < span class ="p "> );</ span >
295+ < span class ="w "> </ span > < span class ="n "> < span style ="color:#ff0000 "> std::atomic_store_xor_explicit </ span > </ span > < span class ="p "> (</ span > < span class ="o "> &</ span > < span class ="n "> x</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="mb "> 0b0101</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href ="memory_order.html "> std::memory_order_seq_cst</ a > </ span > < span class ="p "> );</ span >
296296
297297< span class ="w "> </ span > < span class ="n "> < a href ="../print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "0b{:04b}"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> < a href ="atomic/load.html "> x.load()</ a > </ span > < span class ="p "> );</ span >
298298< span class ="p "> }</ span >
299299</ code > </ pre > </ div >
300300</ div > </ p >
301301< h3 > 出力</ h3 >
302- < p > < pre > < code > 0b0001
302+ < p > < pre > < code > 0b1100
303303</ code > </ pre > </ p >
304304< h2 > バージョン</ h2 >
305305< h3 > 言語</ h3 >
0 commit comments