Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions reference/cmath/abs.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ namespace std {

## 備考
- $$ f(x) = | x | $$
- (6), (7), (8) : 引数の絶対値が、戻り値の型で表現できない場合、未定義動作を引き起こす。
- 一般的な2の補数表現のシステムにおいて、符号付き整数型の最小値(例:`int`における[`INT_MIN`](/reference/climits/int_min.md))の絶対値は、表現できる最大値([`INT_MAX`](/reference/climits/int_max.md))よりも1大きくなってしまうため、この未定義動作に該当する。
- 任意の整数型に対するオーバーロード(5)は C++11 で追加されたが、[一部の符号なし整数型に対して問題を引き起こす](http://wg21.cmeerw.net/lwg/issue2192)ことから C++17 で削除され、符号付き整数型に対するオーバーロード(6), (7), (8)が追加された
- C++23では、(1), (2), (3)が(4)に統合され、拡張浮動小数点数型を含む浮動小数点数型へのオーバーロードとして定義された

Expand Down
2 changes: 2 additions & 0 deletions reference/cstdlib/abs.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ namespace std {


## 備考
- (1), (2), (3), (8), (9) : 引数の絶対値が、戻り値の型で表現できない場合、未定義動作を引き起こす。
- 一般的な2の補数表現のシステムにおいて、符号付き整数型の最小値(例:`int`における[`INT_MIN`](/reference/climits/int_min.md))の絶対値は、表現できる最大値([`INT_MAX`](/reference/climits/int_max.md))よりも1大きくなってしまうため、この未定義動作に該当する。
- パラメータの型`X`において[`is_unsigned_v`](/reference/type_traits/is_unsigned.md)`<X>`が`true`であり、`X`が整数昇格によって`int`に変換できない場合、プログラムは不適格となる
- Cとの互換性のため、`int`に昇格できる符号なし整数型は許可される
- C++23では、(4), (5), (6)が(7)に統合され、拡張浮動小数点数型を含む浮動小数点数型へのオーバーロードとして定義された
Expand Down
Loading