|
28 | 28 | <meta property="og:url" content="https://cpprefjp.github.io/reference/csignal/sigfpe.html" /> |
29 | 29 | <meta property="og:site_name" content="cpprefjp - C++日本語リファレンス" /> |
30 | 30 | <meta property="og:type" content="article" /> |
31 | | - <meta property="og:description" content="算術演算エラー(ゼロ除算など)が発生した際に送られるシグナルの、シグナル番号を表す`int`型のマクロ。" /> |
| 31 | + <meta property="og:description" content="算術演算エラー(浮動小数点例外など)が発生した際に送られるシグナルの、シグナル番号を表すマクロ。" /> |
32 | 32 | <meta name="twitter:card" content="summary" /> |
33 | 33 | <meta name="twitter:title" content="SIGFPE - cpprefjp C++日本語リファレンス" /> |
34 | 34 | <meta name="twitter:url" content="https://cpprefjp.github.io/reference/csignal/sigfpe.html" /> |
35 | | - <meta name="twitter:description" content="算術演算エラー(ゼロ除算など)が発生した際に送られるシグナルの、シグナル番号を表す`int`型のマクロ。" /> |
| 35 | + <meta name="twitter:description" content="算術演算エラー(浮動小数点例外など)が発生した際に送られるシグナルの、シグナル番号を表すマクロ。" /> |
36 | 36 |
|
37 | 37 |
|
38 | 38 | <link rel="alternate" type="application/atom+xml" title="Atom" href="https://cpprefjp.github.io/rss.xml" /> |
|
68 | 68 |
|
69 | 69 | </head> |
70 | 70 | <body> |
71 | | -<header data-kunai-mdinfo="{"meta": {"header": ["csignal"], "id-type": ["macro"]}, "sources": [{"id": "8cce2f78edcbcd32eaaf8148eee1f56e3c841b1c", "source": "#include <iostream>\n#include <csignal>\n\nint main()\n{\n std::cout << SIGFPE << std::endl;\n return 0;\n}\n"}], "page_id": ["reference", "csignal", "sigfpe"]}"> |
| 71 | +<header data-kunai-mdinfo="{"meta": {"header": ["csignal"], "id-type": ["macro"]}, "sources": [{"id": "950ecde9dc1063c773da610e4179eee6b7687452", "source": "#include <csignal>\n#include <cstdlib>\n\nvoid handler(int)\n{\n std::_Exit(0);\n}\n\nint main()\n{\n std::signal(SIGFPE, handler);\n\n volatile double x = 1.0;\n volatile double y = 0.0;\n // \u6d6e\u52d5\u5c0f\u6570\u70b9\u306e 0 \u9664\u7b97\u3002\n // SIGFPE \u304c\u767a\u751f\u3059\u308b\u3053\u3068\u3082\u3042\u308b\u304c\u3001\u898f\u683c\u4e0a\u306f\u4fdd\u8a3c\u3055\u308c\u306a\u3044\u3002\n x = x / y;\n}\n"}], "page_id": ["reference", "csignal", "sigfpe"]}"> |
72 | 72 | <nav class="navbar navbar-default" role="navigation"> |
73 | 73 | <div class="container-fluid"> |
74 | 74 | <div class="navbar-header"> |
|
188 | 188 |
|
189 | 189 | <p class="text-right"><small> |
190 | 190 | 最終更新日時(UTC): |
191 | | - <span itemprop="datePublished" content="2026-01-19T14:34:31"> |
192 | | - 2026年01月19日 14時34分31秒 |
| 191 | + <span itemprop="datePublished" content="2026-01-20T15:13:01"> |
| 192 | + 2026年01月20日 15時13分01秒 |
193 | 193 | </span> |
194 | 194 | <br/> |
195 | 195 | <span itemprop="author" itemscope itemtype="http://schema.org/Person"> |
|
217 | 217 | </code></pre></div> |
218 | 218 | </p> |
219 | 219 | <h2>概要</h2> |
220 | | -<p>算術演算エラー(ゼロ除算など)が発生した際に送られるシグナルの、シグナル番号を表す<code>int</code>型のマクロ。</p> |
221 | | -<p>値は正の整数であり、実際の値は<a class="cpprefjp-defined-word" data-desc="処理系定義の動作。処理系によって事前に定めた動作をする" href="../../implementation-compliance.html#dfn-implementation-defined-behavior">処理系定義</a>である。</p> |
| 220 | +<p>算術演算エラー(浮動小数点<a class="cpprefjp-defined-word" data-desc="問題が発生したときに、現在実行位置を過去に通過・記録した位置に戻し、文脈情報を添えて紐づけられた処理(例外ハンドラー)を呼び出す仕組み。またはその事態">例外</a>など)が発生した際に送られるシグナルの、シグナル番号を表すマクロ。</p> |
| 221 | +<p><code>int</code>型の正の整数の定数式に展開され、実際の値は<a class="cpprefjp-defined-word" data-desc="未規定の動作。事前の断りなく処理系によって異なる動作をする" href="../../implementation-compliance.html#dfn-unspecified-behavior">未規定</a>。</p> |
222 | 222 | <h2>例</h2> |
223 | | -<p><div class="yata" id="8cce2f78edcbcd32eaaf8148eee1f56e3c841b1c"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><a href="../iostream.html"><iostream></a></span><span class="cp"></span> |
224 | | -<span class="cp">#include</span> <span class="cpf"><csignal></span><span class="cp"></span> |
| 223 | +<p><div class="yata" id="950ecde9dc1063c773da610e4179eee6b7687452"><div class="codehilite"><pre><span></span><code><span class="cp">#include</span> <span class="cpf"><csignal></span><span class="cp"></span> |
| 224 | +<span class="cp">#include</span> <span class="cpf"><a href="../cstdlib.html"><cstdlib></a></span><span class="cp"></span> |
| 225 | + |
| 226 | +<span class="kt">void</span> <span class="nf">handler</span><span class="p">(</span><span class="kt">int</span><span class="p">)</span> |
| 227 | +<span class="p">{</span> |
| 228 | + <span class="n">std</span><span class="o">::</span><span class="n">_Exit</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span> |
| 229 | +<span class="p">}</span> |
225 | 230 |
|
226 | 231 | <span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> |
227 | 232 | <span class="p">{</span> |
228 | | - <span class="n"><a href="../iostream/cout.html">std::cout</a></span> <span class="o"><<</span> <span class="n"><span style="color:#ff0000">SIGFPE</span></span> <span class="o"><<</span> <span class="n"><a href="../ostream/endl.html">std::endl</a></span><span class="p">;</span> |
229 | | - <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> |
| 233 | + <span class="n">std</span><span class="o">::</span><span class="n">signal</span><span class="p">(</span><span class="n"><span style="color:#ff0000">SIGFPE</span></span><span class="p">,</span> <span class="n">handler</span><span class="p">);</span> |
| 234 | + |
| 235 | + <span class="k">volatile</span> <span class="kt">double</span> <span class="n">x</span> <span class="o">=</span> <span class="mf">1.0</span><span class="p">;</span> |
| 236 | + <span class="k">volatile</span> <span class="kt">double</span> <span class="n">y</span> <span class="o">=</span> <span class="mf">0.0</span><span class="p">;</span> |
| 237 | + <span class="c1">// 浮動小数点の 0 除算。</span> |
| 238 | + <span class="c1">// <span style="color:#ff0000">SIGFPE</span> が発生することもあるが、規格上は保証されない。</span> |
| 239 | + <span class="n">x</span> <span class="o">=</span> <span class="n">x</span> <span class="o">/</span> <span class="n">y</span><span class="p">;</span> |
230 | 240 | <span class="p">}</span> |
231 | 241 | </code></pre></div> |
232 | 242 | </div></p> |
233 | | -<h2>出力例</h2> |
234 | | -<p><pre><code>8 |
235 | | -</code></pre> |
236 | | -処理系により異なる</p></div> |
| 243 | +<h3>出力</h3> |
| 244 | +<p><pre><code></code></pre></p></div> |
237 | 245 |
|
238 | 246 | </div> |
239 | 247 | </div> |
|
0 commit comments