|
2 | 2 | <feed xmlns="http://www.w3.org/2005/Atom"> |
3 | 3 | <title>cpprefjp - C++日本語リファレンス</title> |
4 | 4 | <link href="https://cpprefjp.github.io" /> |
5 | | - <updated>2026-02-26T09:15:59.959203</updated> |
6 | | - <id>d9afd829-9233-4928-ac34-c1bf4e677c89</id> |
| 5 | + <updated>2026-02-26T14:07:58.570434</updated> |
| 6 | + <id>ea5294a1-7ebc-420b-8162-02e4df1f8676</id> |
7 | 7 |
|
8 | 8 |
|
| 9 | + <entry> |
| 10 | + <title>SIG_DFL -- sig_dflの説明とコードサンプルを変更</title> |
| 11 | + <link href="https://cpprefjp.github.io/reference/csignal/sig_dfl.html"/> |
| 12 | + <id>545b61474c3de5abcab9a851c34826ef0bb23d18:reference/csignal/sig_dfl.md</id> |
| 13 | + <updated>2026-02-26T23:02:56+09:00</updated> |
| 14 | + |
| 15 | + <summary type="html"><pre><code>diff --git a/reference/csignal/sig_dfl.md b/reference/csignal/sig_dfl.md |
| 16 | +index 421eae196..6f2d241e4 100644 |
| 17 | +--- a/reference/csignal/sig_dfl.md |
| 18 | ++++ b/reference/csignal/sig_dfl.md |
| 19 | +@@ -7,7 +7,7 @@ |
| 20 | + ``` |
| 21 | + |
| 22 | + ## 概要 |
| 23 | +-`signal`関数に渡される引数として、シグナルに対するデフォルトの処理を指定するマクロ。 |
| 24 | ++`signal`関数に渡される引数として、シグナルハンドラをデフォルトに設定するマクロ。 |
| 25 | + |
| 26 | + シグナル受信時に`signal`関数で`SIG_DFL`が指定されている場合、そのシグナルに対する実装定義のデフォルト処理が実行される。 |
| 27 | + |
| 28 | +@@ -16,13 +16,21 @@ |
| 29 | + #include &lt;csignal&gt; |
| 30 | + #include &lt;iostream&gt; |
| 31 | + |
| 32 | ++void signal_handler(int) |
| 33 | ++{ |
| 34 | ++ std::cout &lt;&lt; &#34;Custom handler\n&#34;; |
| 35 | ++} |
| 36 | ++ |
| 37 | + int main() |
| 38 | + { |
| 39 | ++ // 一度カスタムハンドラを設定 |
| 40 | ++ std::signal(SIGINT, signal_handler); |
| 41 | ++ // その後デフォルト動作に戻す |
| 42 | + std::signal(SIGINT, SIG_DFL); |
| 43 | +- volatile std::sig_atomic_t flag = 0; |
| 44 | +- while (!flag) { |
| 45 | ++ std::cout &lt;&lt; &#34;Press Ctrl+C\n&#34;; |
| 46 | ++ // ここで Ctrl+C を押すと、デフォルト動作 |
| 47 | ++ while (true) { |
| 48 | + } |
| 49 | +- return 0; |
| 50 | + } |
| 51 | + ``` |
| 52 | + |
| 53 | +@@ -31,7 +39,7 @@ int main() |
| 54 | + ### 出力 |
| 55 | + |
| 56 | + ``` |
| 57 | +-Press Ctrl+C to send SIGINT signal |
| 58 | ++Press Ctrl+C |
| 59 | + ``` |
| 60 | + |
| 61 | + ## 関連項目 |
| 62 | +</code></pre></summary> |
| 63 | + |
| 64 | + <author> |
| 65 | + <name>K10-K10</name> |
| 66 | + <email>keito.tottori@gmail.com</email> |
| 67 | + </author> |
| 68 | + </entry> |
| 69 | + |
9 | 70 | <entry> |
10 | 71 | <title>SIG_DFL -- modified: syntax highlight</title> |
11 | 72 | <link href="https://cpprefjp.github.io/reference/csignal/sig_dfl.html"/> |
@@ -650,66 +711,6 @@ index 87a021b7d..5af284873 100644 |
650 | 711 | * make_format_args[link /reference/format/make_format_args.md] |
651 | 712 |
|
652 | 713 |
|
653 | | -</code></pre></summary> |
654 | | - |
655 | | - <author> |
656 | | - <name>yoh</name> |
657 | | - <email>kawasaki.liamg@gmail.com</email> |
658 | | - </author> |
659 | | - </entry> |
660 | | - |
661 | | - <entry> |
662 | | - <title>ignore -- basic_istream/ignore: P3223R2対応 (#1518)</title> |
663 | | - <link href="https://cpprefjp.github.io/reference/istream/basic_istream/ignore.html"/> |
664 | | - <id>ebde68c411f604e2b07e91bea3d1debcf2a11df0:reference/istream/basic_istream/ignore.md</id> |
665 | | - <updated>2026-02-11T15:32:25+09:00</updated> |
666 | | - |
667 | | - <summary type="html"><pre><code>diff --git a/reference/istream/basic_istream/ignore.md b/reference/istream/basic_istream/ignore.md |
668 | | -index b31b96a0f..62461e5e3 100644 |
669 | | ---- a/reference/istream/basic_istream/ignore.md |
670 | | -+++ b/reference/istream/basic_istream/ignore.md |
671 | | -@@ -5,7 +5,9 @@ |
672 | | - * function[meta id-type] |
673 | | - |
674 | | - ```cpp |
675 | | --basic_istream&lt;CharT, Traits&gt;&amp; ignore(streamsize n = 1, int_type delim = Traits::eof()); |
676 | | -+basic_istream&amp; ignore(streamsize n = 1, int_type delim = Traits::eof()); // (1) |
677 | | -+ |
678 | | -+basic_istream&amp; ignore(streamsize n, char_type delim); // (2) C++26 |
679 | | - ``` |
680 | | - |
681 | | - ## 概要 |
682 | | -@@ -19,9 +21,10 @@ basic_istream&lt;CharT, Traits&gt;&amp; ignore(streamsize n = 1, int_type delim = Traits:: |
683 | | - - 2番目の仮引数`delim`を与えると、その文字が現れるまで入力して捨てる処理を実行する。この指定が不要なら、`Traits::eof()`を実引数に与える。 |
684 | | - |
685 | | - ## 効果 |
686 | | -+(1) : 下記の動作を行う。 |
687 | | - |
688 | | - 1. `sentry`オブジェクトを構築する。`sentry`オブジェクトが失敗を示した場合、何もしない。 |
689 | | --1. 以下のいずれかを満たすまで、`this`内のストリームバッファから文字を入力する(どこへも出力することなく捨てる)。 |
690 | | -+2. 以下のいずれかを満たすまで、`this`内のストリームバッファから文字を入力する(どこへも出力することなく捨てる)。 |
691 | | - - 実引数で指定された`n`文字まで入力した。 |
692 | | - - `n == numeric_limits&lt;streamsize&gt;::max()`の場合、この条件は適用されない。 |
693 | | - - EOFに達した。この場合、`setstate(eofbit)`を呼び出す。 |
694 | | -@@ -29,6 +32,12 @@ basic_istream&lt;CharT, Traits&gt;&amp; ignore(streamsize n = 1, int_type delim = Traits:: |
695 | | - - 次の文字を`c`として、`Traits::eq_int_type(Traits::to_int_type(c), delim)`が真の場合。 |
696 | | - - `delim`が`Traits::eof()`である場合、この条件は適用されない。 |
697 | | - |
698 | | -+(2) : 下記と等価 |
699 | | -+```cpp |
700 | | -+return ignore(n, traits::to_int_type(delim)); |
701 | | -+``` |
702 | | -+ |
703 | | -+ |
704 | | - ## 戻り値 |
705 | | - `*this` |
706 | | - |
707 | | -@@ -71,3 +80,5 @@ TBD |
708 | | - - C++98 |
709 | | - |
710 | | - ## 参照 |
711 | | -+- [P3223R2 Making std::istream::ignore less surprising](https://open-std.org/jtc1/sc22/wg21/docs/papers/2025/p3223r2.html) |
712 | | -+ - C++26からオーバーロード(2)が追加された |
713 | 714 | </code></pre></summary> |
714 | 715 |
|
715 | 716 | <author> |
|
0 commit comments