176176
177177 < p class ="text-right "> < small >
178178 最終更新日時(UTC):
179- < span itemprop ="datePublished " content ="2026-03-26T01:32:49 ">
180- 2026年03月26日 01時32分49秒
179+ < span itemprop ="datePublished " content ="2026-03-26T02:50:04 ">
180+ 2026年03月26日 02時50分04秒
181181 </ span >
182182 < br />
183183 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -304,7 +304,7 @@ <h4>リテラルエンコーディングの確認</h4>
304304< p > < div class ="yata " id ="1d91b01b31672438b68ca6b02104f4e13e6654b9 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include < a href =""> <text_encoding></ a > </ span >
305305
306306< span class ="c1 "> // コンパイル時にリテラルエンコーディングを検証</ span >
307- < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="text_encoding/text_encoding/literal .html "> std::text_encoding:: literal()</ a > </ span > < span class ="w "> </ span > < span class ="o "> ==</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class ="o "> ::</ span > < span class ="n "> id </ span > < span class =" o " > :: </ span > < span class =" n " > UTF8 </ span > < span class ="p "> ,</ span >
307+ < span class ="k "> static_assert</ span > < span class ="p "> (</ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/ literal.html " > literal ()</ a > </ span > < span class ="w "> </ span > < span class ="o "> ==</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class ="o "> ::</ span > < span class ="n "> < a href =" text_encoding/text_encoding/id.html " > id::UTF8 </ a > </ span > < span class ="p "> ,</ span >
308308< span class ="w "> </ span > < span class ="s "> "This program requires UTF-8 literal encoding"</ span > < span class ="p "> );</ span >
309309
310310< span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span > < span class ="w "> </ span > < span class ="p "> {}</ span >
@@ -316,11 +316,11 @@ <h4>環境エンコーディングとリテラルエンコーディングの互
316316< span class ="cp "> #include < a href ="iostream.html "> <iostream></ a > </ span >
317317
318318< span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
319- < span class ="w "> </ span > < span class ="k "> if</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="text_encoding/text_encoding/literal .html "> std::text_encoding:: literal()</ a > </ span > < span class ="w "> </ span > < span class ="o "> !=</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding/environment .html "> std::text_encoding:: environment()</ a > </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
319+ < span class ="w "> </ span > < span class ="k "> if</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/ literal.html " > literal ()</ a > </ span > < span class ="w "> </ span > < span class ="o "> !=</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/environment.html " > environment()</ a > </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
320320< span class ="w "> </ span > < span class ="n "> < a href ="print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="n "> cerr</ span > < span class ="p "> ,</ span >
321321< span class ="w "> </ span > < span class ="s "> "Warning: literal encoding ({}) differs from environment encoding ({})"</ span > < span class ="p "> ,</ span >
322- < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding/literal .html "> std::text_encoding:: literal()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> (),</ span >
323- < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding/environment .html "> std::text_encoding:: environment()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> ());</ span >
322+ < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/literal.html " > literal()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> (),</ span >
323+ < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/environment.html " > environment()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> ());</ span >
324324< span class ="w "> </ span > < span class ="p "> }</ span >
325325< span class ="p "> }</ span >
326326</ code > </ pre > </ div >
@@ -336,13 +336,13 @@ <h4>外部ライブラリとの相互運用</h4>
336336< span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
337337< span class ="w "> </ span > < span class ="c1 "> // iconvを使用してUTF-8から環境エンコーディングに変換</ span >
338338< span class ="w "> </ span > < span class ="n "> iconv_t</ span > < span class ="w "> </ span > < span class ="n "> conv</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> iconv_open</ span > < span class ="p "> (</ span >
339- < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding/environment .html "> std::text_encoding:: environment()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> (),</ span >
339+ < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/environment.html " > environment()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> (),</ span >
340340< span class ="w "> </ span > < span class ="s "> "UTF-8"</ span > < span class ="p "> );</ span >
341341
342342< span class ="w "> </ span > < span class ="c1 "> // ICUを使用する場合</ span >
343343< span class ="w "> </ span > < span class ="n "> UErrorCode</ span > < span class ="w "> </ span > < span class ="n "> err</ span > < span class ="p "> ;</ span >
344344< span class ="w "> </ span > < span class ="n "> UConverter</ span > < span class ="o "> *</ span > < span class ="w "> </ span > < span class ="n "> converter</ span > < span class ="w "> </ span > < span class ="o "> =</ span > < span class ="w "> </ span > < span class ="n "> ucnv_open</ span > < span class ="p "> (</ span >
345- < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding/environment .html "> std::text_encoding:: environment()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> (),</ span >
345+ < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/environment.html " > environment()</ a > </ span > < span class ="p "> .</ span > < span class ="n "> name</ span > < span class ="p "> (),</ span >
346346< span class ="w "> </ span > < span class ="o "> &</ span > < span class ="n "> err</ span > < span class ="p "> );</ span >
347347< span class ="p "> }</ span >
348348</ code > </ pre > </ div >
@@ -354,8 +354,8 @@ <h4>µs表記の安全な使用</h4>
354354< span class ="cp "> #include < a href ="print.html "> <print></ a > </ span >
355355
356356< span class ="kt "> void</ span > < span class ="w "> </ span > < span class ="nf "> print_microseconds</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="w "> </ span > < span class ="n "> count</ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
357- < span class ="w "> </ span > < span class ="k "> if</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="text_encoding/text_encoding/literal .html "> std::text_encoding:: literal()</ a > </ span > < span class ="w "> </ span > < span class ="o "> ==</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class ="o "> ::</ span > < span class ="n "> id </ span > < span class =" o " > :: </ span > < span class =" n " > UTF8 </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
358- < span class ="w "> </ span > < span class ="k "> if</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="locale/locale.html "> std::locale</ a > </ span > < span class ="p "> ().</ span > < span class ="n "> < a href ="locale/locale/encoding.html "> encoding()</ a > </ span > < span class ="w "> </ span > < span class ="o "> ==</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class ="o "> ::</ span > < span class ="n "> id </ span > < span class =" o " > :: </ span > < span class =" n " > UTF8 </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
357+ < span class ="w "> </ span > < span class ="k "> if</ span > < span class ="w "> </ span > < span class ="k "> constexpr</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class =" o " > :: </ span > < span class =" n " > < a href =" text_encoding/text_encoding/ literal.html " > literal ()</ a > </ span > < span class ="w "> </ span > < span class ="o "> ==</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class ="o "> ::</ span > < span class ="n "> < a href =" text_encoding/text_encoding/id.html " > id::UTF8 </ a > </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
358+ < span class ="w "> </ span > < span class ="k "> if</ span > < span class ="w "> </ span > < span class ="p "> (</ span > < span class ="n "> < a href ="locale/locale.html "> std::locale</ a > </ span > < span class ="p "> ().</ span > < span class ="n "> < a href ="locale/locale/encoding.html "> encoding()</ a > </ span > < span class ="w "> </ span > < span class ="o "> ==</ span > < span class ="w "> </ span > < span class ="n "> < a href ="text_encoding/text_encoding.html "> std::text_encoding</ a > </ span > < span class ="o "> ::</ span > < span class ="n "> < a href =" text_encoding/text_encoding/id.html " > id::UTF8 </ a > </ span > < span class ="p "> )</ span > < span class ="w "> </ span > < span class ="p "> {</ span >
359359< span class ="w "> </ span > < span class ="n "> < a href ="print/println.html "> std::println</ a > </ span > < span class ="p "> (</ span > < span class ="s "> "{}</ span > < span class ="se "> \u00B5</ span > < span class ="s "> s"</ span > < span class ="p "> ,</ span > < span class ="w "> </ span > < span class ="n "> count</ span > < span class ="p "> );</ span > < span class ="w "> </ span > < span class ="c1 "> // µs</ span >
360360< span class ="w "> </ span > < span class ="k "> return</ span > < span class ="p "> ;</ span >
361361< span class ="w "> </ span > < span class ="p "> }</ span >
0 commit comments