std::midpoint_C++中文网
| 定义于头文件 |
||
| template< class T > |
(1) | (C++20 起) |
| template< class T > |
(2) | (C++20 起) |
计算整数、浮点或指针 a 与 b 的中点。
1) 此重载仅若 T 为 bool 以外的算术类型才参与重载决议。
2) 此重载仅若 T 为对象类型才参与重载决议。若 T 为不完整类型则此重载的使用为谬构。
参数
返回值
1) a 与 b 和的一半。不出现上溢。若 a 与 b 拥有整数类型而和为奇数,则向 a 取整结果。若 a 与 b 拥有浮点类型,则至多出现一次不准确运算。
2) 若 a 与 b 分别指向(就指针算术目的而言的)同一数组对象 x 的 x[i] 与 x[j] ,则返回指向 x[i+(j-i)/2] 的指针,其中除法向零取整。若 a 与 b 不指向同一数组对象,则行为未定义。
异常
不抛异常。
示例
可能的输出:
a: 4294967295 b: 4294967293 Incorrect (overflow and wrapping): 2147483646 Correct: 4294967294