File tree Expand file tree Collapse file tree 3 files changed +94
-648
lines changed
reference/string_view/basic_string_view Expand file tree Collapse file tree 3 files changed +94
-648
lines changed Original file line number Diff line number Diff line change 200200
201201 < p class ="text-right "> < small >
202202 最終更新日時(UTC):
203- < span itemprop ="datePublished " content ="2024-06-11T13:45:38 ">
204- 2024年06月11日 13時45分38秒
203+ < span itemprop ="datePublished " content ="2025-01-08T07:42:08 ">
204+ 2025年01月08日 07時42分08秒
205205 </ span >
206206 < br />
207207 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
@@ -260,8 +260,19 @@ <h2><a class="cpprefjp-defined-word" data-desc="関数呼び出し式の評価
260260< h2 > 備考</ h2 >
261261< ul >
262262< li > 中間にヌル文字を含む文字列リテラルから< code > basic_string_view</ code > オブジェクトを構築する場合、コンストラクタを使用するよりもこちらの関数を使用したほうがよい。< ul >
263- < li > < code > const char*</ code > をとるコンストラクタは< code > < a href ="../../string/char_traits.html "> std::char_traits</ a > ::< a href ="../../string/char_traits/length.html "> length()</ a > </ code > 関数を使用して文字列長を計算するため、< a class ="cpprefjp-defined-word " data-desc ="null-terminated。文字列においてヌル文字 '\0' を用いてその終端を表すこと。ヌル文字自体は文字列に含まない。広義には線形データ構造においてヌルまたは値 0 を番兵としてその終わりを示すこと "> ヌル終端</ a > となってしまう</ li >
264- < li > こちらの関数は文字列リテラルの長さを直接扱うため、文字列全体を参照する< code > basic_string_view</ code > オブジェクトを構築できる</ li >
263+ < li > < code > const char*</ code > をとるコンストラクタは< code > < a href ="../../string/char_traits.html "> std::char_traits</ a > ::< a href ="../../string/char_traits/length.html "> length()</ a > </ code > 関数を使用して文字列長を計算するため、< a class ="cpprefjp-defined-word " data-desc ="null-terminated。文字列においてヌル文字 '\0' を用いてその終端を表すこと。ヌル文字自体は文字列に含まない。広義には線形データ構造においてヌルまたは値 0 を番兵としてその終わりを示すこと "> ヌル終端</ a > までの長さとなる。そのコンストラクタでは文字列の途中にヌル文字がある場合、文字列の終端まで扱われないので注意が必要となる</ li >
264+ < li > こちらの関数は文字列リテラルの長さを直接扱うため、文字列全体を参照する< code > basic_string_view</ code > オブジェクトを構築できる
265+
266+ < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="c1 "> // コンストラクタは、ヌル文字までの長さ</ span >
267+ < span class ="k "> const</ span > < span class ="kt "> char</ span > < span class ="o "> *</ span > < span class ="n "> s</ span > < span class ="o "> =</ span > < span class ="s "> "123</ span > < span class ="se "> \0</ span > < span class ="s "> abc"</ span > < span class ="p "> ;</ span >
268+ < span class ="k "> auto</ span > < span class ="n "> sv0</ span > < span class ="o "> =</ span > < span class ="n "> < a href ="../basic_string_view.html "> std::string_view</ a > </ span > < span class ="p "> {</ span > < span class ="n "> s</ span > < span class ="p "> };</ span >
269+ < span class ="n "> < a href ="../../cassert/assert.html "> assert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> sv0</ span > < span class ="p "> .</ span > < span class ="n "> length</ span > < span class ="p "> ()</ span > < span class ="o "> ==</ span > < span class ="mi "> 3</ span > < span class ="p "> );</ span > < span class ="c1 "> // "123"</ span >
270+
271+ < span class ="c1 "> // svリテラルは全体の長さ</ span >
272+ < span class ="k "> auto</ span > < span class ="n "> sv1</ span > < span class ="o "> =</ span > < span class ="s "> "123</ span > < span class ="se "> \0</ span > < span class ="s "> abc"</ span > < span class ="n "> sv</ span > < span class ="p "> ;</ span >
273+ < span class ="n "> < a href ="../../cassert/assert.html "> assert</ a > </ span > < span class ="p "> (</ span > < span class ="n "> sv1</ span > < span class ="p "> .</ span > < span class ="n "> length</ span > < span class ="p "> ()</ span > < span class ="o "> ==</ span > < span class ="mi "> 7</ span > < span class ="p "> );</ span > < span class ="c1 "> // "123\0abc"</ span >
274+ </ code > </ pre > </ div >
275+ </ li >
265276</ ul >
266277</ li >
267278</ ul >
You can’t perform that action at this time.
0 commit comments