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)T 必须是 bool 外的算术类型
-
对于重载 (2)T 必须是完整类类型

[编辑] 返回值

1) ab 和的一半。不出现上溢。若 ab 拥有整数类型而和为奇数,则向 a 取整结果。若 ab 拥有浮点类型,则至多出现一次不准确运算。
2)ab 分别指向(就指针算术目的而言的)同一数组对象 xx[i]x[j] ,则返回指向 x[i+(j-i)/2] 的指针,其中除法向零取整。若 ab 不指向同一数组对象,则行为未定义。

[编辑] 异常

不抛异常。

[编辑] 示例