<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>cpprefjp - C++日本語リファレンス</title>
  <link href="https://cpprefjp.github.io" />
  <updated>2026-09-22T23:55:40.778260</updated>
  <id>a0b59b10-4bcb-4468-8091-188c67b0f779</id>

  
    <entry>
      <title>デストラクタ -- bad_optional_access のデストラクタ : 概要がbad_array_new_lengthのコピーのままだったのを修正</title>
      <link href="https://cpprefjp.github.io/reference/optional/bad_optional_access/op_destructor.html"/>
      <id>6ebc4b88b27d65c96e71f11f1f341fff2a9e293d:reference/optional/bad_optional_access/op_destructor.md</id>
      <updated>2026-09-23T08:34:55+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/optional/bad_optional_access/op_destructor.md b/reference/optional/bad_optional_access/op_destructor.md
index 10b6dbb94..5f64a2b71 100644
--- a/reference/optional/bad_optional_access/op_destructor.md
+++ b/reference/optional/bad_optional_access/op_destructor.md
@@ -11,7 +11,7 @@ constexpr virtual ~bad_optional_access(); // (1) C++26
 ```
 
 ## 概要
-`bad_array_new_length`オブジェクトを破棄する。
+`bad_optional_access`オブジェクトを破棄する。
 
 
 ## 例外
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>rotarymars</name>
        <email>s.goto2050@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>operator&lt;=&gt; -- shared_ptr の operator&lt;=&gt; : (2)の戻り値が宣言されていない変数を参照していたのを修正</title>
      <link href="https://cpprefjp.github.io/reference/memory/shared_ptr/op_compare_3way.html"/>
      <id>35f668ff5e38d8019ebf35003ccabfa5983c4689:reference/memory/shared_ptr/op_compare_3way.md</id>
      <updated>2026-09-23T07:58:27+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/memory/shared_ptr/op_compare_3way.md b/reference/memory/shared_ptr/op_compare_3way.md
index 713856be2..79971f459 100644
--- a/reference/memory/shared_ptr/op_compare_3way.md
+++ b/reference/memory/shared_ptr/op_compare_3way.md
@@ -40,7 +40,7 @@ namespace std {
 
 - (2) :
     ```cpp
-    return compare_three_way()(a.get(), static_cast&amp;lt;typename shared_ptr&amp;lt;T&amp;gt;::element_type*&amp;gt;(nullptr));
+    return compare_three_way()(x.get(), static_cast&amp;lt;typename shared_ptr&amp;lt;T&amp;gt;::element_type*&amp;gt;(nullptr));
     ```
     * compare_three_way[link /reference/compare/compare_three_way.md]
     * get()[link get.md]
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>rotarymars</name>
        <email>s.goto2050@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>what -- exception::what : 基底クラスの宣言にoverrideが付いており、存在しないC++17版が記載されていたのを修正</title>
      <link href="https://cpprefjp.github.io/reference/exception/exception/what.html"/>
      <id>5113f2599ddf3c03d03f0556cfd6363181fc5595:reference/exception/exception/what.md</id>
      <updated>2026-09-23T07:19:44+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/exception/exception/what.md b/reference/exception/exception/what.md
index 80402d417..f3fb62475 100644
--- a/reference/exception/exception/what.md
+++ b/reference/exception/exception/what.md
@@ -5,10 +5,9 @@
 * function[meta id-type]
 
 ```cpp
-virtual const char* what() const;                     // (1) C++98
-virtual const char* what() const noexcept;            // (1) C++11
-const char* what() const noexcept override;           // (1) C++17
-constexpr const char* what() const noexcept override; // (1) C++26
+virtual const char* what() const;                    // (1) C++98
+virtual const char* what() const noexcept;           // (1) C++11
+constexpr virtual const char* what() const noexcept; // (1) C++26
 ```
 
 ## 概要
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>rotarymars</name>
        <email>s.goto2050@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>value_or -- optional::value_or : (1)の要件と(2)の効果が規格と異なっていたのを修正</title>
      <link href="https://cpprefjp.github.io/reference/optional/optional/value_or.html"/>
      <id>17cd661143a11087d08042d98e6b7a03579198a7:reference/optional/optional/value_or.md</id>
      <updated>2026-09-22T23:31:02+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/optional/optional/value_or.md b/reference/optional/optional/value_or.md
index 8256d705e..3426665b2 100644
--- a/reference/optional/optional/value_or.md
+++ b/reference/optional/optional/value_or.md
@@ -30,12 +30,13 @@ constexpr remove_cv_t&amp;lt;T&amp;gt; value_or(U&amp;amp;&amp;amp; u) const;        // (3) C++26
 
 
 ## 要件
-- (1), (2) : [`is_move_constructible_v`](/reference/type_traits/is_move_constructible.md)`&amp;lt;T&amp;gt; == true`であること
+- (1) : [`is_copy_constructible_v`](/reference/type_traits/is_copy_constructible.md)`&amp;lt;T&amp;gt; == true`であること
+- (2) : [`is_move_constructible_v`](/reference/type_traits/is_move_constructible.md)`&amp;lt;T&amp;gt; == true`であること
 - (1), (2) : [`is_convertible_v`](/reference/type_traits/is_convertible.md)`&amp;lt;U&amp;amp;&amp;amp;, T&amp;gt; == true`であること
 
 
 ## 効果
-- (1), (2) : 以下の式と等価の効果を持つ：
+- (1) : 以下の式と等価の効果を持つ：
 
     ```cpp
     return has_value() ? value() : static_cast&amp;lt;T&amp;gt;(std::forward&amp;lt;U&amp;gt;(v));
@@ -43,6 +44,14 @@ constexpr remove_cv_t&amp;lt;T&amp;gt; value_or(U&amp;amp;&amp;amp; u) const;        // (3) C++26
     * has_value()[link has_value.md]
     * value()[link value.md]
 
+- (2) : 以下の式と等価の効果を持つ：
+
+    ```cpp
+    return has_value() ? std::move(value()) : static_cast&amp;lt;T&amp;gt;(std::forward&amp;lt;U&amp;gt;(v));
+    ```
+    * has_value()[link has_value.md]
+    * value()[link value.md]
+
 - (3) : 以下の式と等価の効果を持つ：
 
     ```cpp
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>rotarymars</name>
        <email>s.goto2050@gmail.com</email>
      </author>
    </entry>
  
    <entry>
      <title>コンストラクタ -- basic_string_view のコンストラクタ : (7)の例が終端ヌル文字を含むことが出力から読み取れなかったのを修正</title>
      <link href="https://cpprefjp.github.io/reference/string_view/basic_string_view/op_constructor.html"/>
      <id>35b025c11fa0d1e620168aedc97da747fbf8f891:reference/string_view/basic_string_view/op_constructor.md</id>
      <updated>2026-09-22T22:48:36+09:00</updated>
      
        <summary type="html">&lt;pre&gt;&lt;code&gt;diff --git a/reference/string_view/basic_string_view/op_constructor.md b/reference/string_view/basic_string_view/op_constructor.md
index 3277d187b..d2870c886 100644
--- a/reference/string_view/basic_string_view/op_constructor.md
+++ b/reference/string_view/basic_string_view/op_constructor.md
@@ -141,7 +141,8 @@ int main()
     std::vector vec = {&amp;#39;H&amp;#39;, &amp;#39;e&amp;#39;, &amp;#39;l&amp;#39;, &amp;#39;l&amp;#39;, &amp;#39;o&amp;#39;, &amp;#39;\0&amp;#39;, &amp;#39;!&amp;#39;};
     // 参照するのは入力範囲先頭からそのサイズ（`std::ranges::size()`）分
     std::string_view sv{vec};
-    std::cout &amp;lt;&amp;lt; &amp;#34;(7) : &amp;#34; &amp;lt;&amp;lt; sv &amp;lt;&amp;lt; std::endl;
+    // 終端ヌル文字で止まらないため、sizeは7になる
+    std::cout &amp;lt;&amp;lt; &amp;#34;(7) : size = &amp;#34; &amp;lt;&amp;lt; sv.size() &amp;lt;&amp;lt; std::endl;
 
     // explicitのため、このような初期化や暗黙変換は無効
     //std::string_view sv = {vec};
@@ -149,6 +150,7 @@ int main()
 }
 ```
 * s.begin()[link /reference/string/basic_string/begin.md]
+* sv.size()[link size.md]
 
 ### 出力
 ```
@@ -156,7 +158,7 @@ int main()
 (3) : Hello World
 (5) : Hello
 (6) : Hello
-(7) : Hello!
+(7) : size = 7
 ```
 
 ## バージョン
&lt;/code&gt;&lt;/pre&gt;</summary>
      
      <author>
        <name>rotarymars</name>
        <email>s.goto2050@gmail.com</email>
      </author>
    </entry>
  
</feed>