std::clampとは?
- 指定した変数を指定範囲内に収めることができます。
- これにより、if文やmin・maxの組み合わせで実現した範囲内に収める処理を1行で記述できます。
- 参考サイト:clamp - cpprefjp C++日本語リファレンス
使用例1:変数をaを範囲min ~ maxに収める
- 今回使用するstd::clampの引数を以下の表に示す。
第1引数 | 制限したい変数 |
---|---|
第2引数 | 最小値 |
第3引数 | 最大値 |
ソースコード
#include <iostream> #include <algorithm> int main() { // 総和を求める for (int i = 0; i < 7; i++) { std::cout << "std::clamp( " << i << ", 2, 5) = " << std::clamp(i, 2, 5) << std::endl; } }
実行結果
std::clamp( 0, 2, 5) = 2 std::clamp( 1, 2, 5) = 2 std::clamp( 2, 2, 5) = 2 std::clamp( 3, 2, 5) = 3 std::clamp( 4, 2, 5) = 4 std::clamp( 5, 2, 5) = 5 std::clamp( 6, 2, 5) = 5