Skip to content

Commit 4678ca6

Browse files
author
cpprefjp-autoupdate
committed
update automatically
1 parent cf74ff8 commit 4678ca6

File tree

3 files changed

+94
-648
lines changed

3 files changed

+94
-648
lines changed

reference/string_view/basic_string_view/op_sv.html

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@
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>

0 commit comments

Comments
 (0)