名前空間
変種
操作

std::midpoint

提供: cppreference.com
< cpp‎ | numeric
ヘッダ <numeric> で定義
template< class T >
constexpr T midpoint(T a, T b) noexcept;
(1) (C++20以上)
template< class T >
constexpr T* midpoint(T* a, T* b);
(2) (C++20以上)

整数、浮動小数点、またはポインタ ab の中点を計算します。

目次

[編集] 引数

a, b - 整数、浮動小数点、またはポインタの値
型の要件
-
オーバーロード (1) の場合、 Tbool 以外の算術型でなければなりません。
-
オーバーロード (2) の場合、 T は完全クラス型でなければなりません。

[編集] 戻り値

1) ab の和の半分。 オーバーフローは発生しません。 ab が整数型で、その和が奇数の場合、結果は a に向かって丸められます。 a と {{tt|b} が浮動小数点型の場合、不正確な演算は多くとも1回しか発生しません。
2) ab が、それぞれ、 (ポインタ算術の目的のために) 同じ配列オブジェクト xx[i]x[j] を指している場合、 x[i+(j-i)/2] を指すポインタを返します (除算はゼロに向かって丸められます)。 ab が同じ配列オブジェクトの要素を指していない場合、動作は未定義です。

[編集] 例外

何も例外を投げません。

[編集]