當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ boost::algorithm::clamp()用法及代碼示例


C++ Boost庫中的clamp()函數位於標題“ boost /algorithm /clamp.hpp”下,其中包含兩個“clamping”函數,即一對邊界值之間的值。

用法

const T& clamp ( const T& val, const T& lo, const T& hi )
or 
const T& clamp ( const T& value, const T& low, const T& high, Pred p )

參數:該函數接受如下所述的參數:



  • value:相比於此,它指定了值。
  • low:這指定了較低的範圍。
    • high:此指定更高的範圍。
    • p:這指定謂詞函數。

    返回值:該函數返回三個值,如下所述:

    • 如果值小於low,則返回low。
    • 如果high大於value,則返回high。
    • 在所有其他情況下,它返回值。

    Program-1

    // C++ program to implement the 
    // above mentioned function 
      
    #include <bits/stdc++.h> 
    #include <boost/algorithm/clamp.hpp> 
    using namespace std; 
      
    // Drivers code 
    int main() 
    { 
      
        int value = 5; 
        int low = 10, high = 20; 
      
        // Function used 
        int ans 
            = boost::algorithm::clamp(value, low, high); 
      
        cout << ans; 
        return 0; 
    }
    輸出:
    10
    

    Program-2

    // C++ program to implement the 
    // above mentioned function 
      
    #include <bits/stdc++.h> 
    #include <boost/algorithm/clamp.hpp> 
    using namespace std; 
      
    // Drivers code 
    int main() 
    { 
      
        int value = 25; 
        int low = 10, high = 20; 
      
        // Function used 
        int ans 
            = boost::algorithm::clamp(value, low, high); 
        cout << ans; 
        return 0; 
    }
    輸出:
    20
    

    Program-3

    // C++ program to implement the 
    // above mentioned function 
      
    #include <bits/stdc++.h> 
    #include <boost/algorithm/clamp.hpp> 
    using namespace std; 
      
    // Drivers code 
    int main() 
    { 
      
        int value = 15; 
        int low = 10, high = 20; 
      
        // Function used 
        int ans 
            = boost::algorithm::clamp(value, low, high); 
        cout << ans; 
        return 0; 
    }
    輸出:
    15
    

    Reference:https://www.boost.org/doc/libs/1_70_0/libs/algorithm/doc/html/the_boost_algorithm_library/CXX14/mismatch.html




相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 boost::algorithm::clamp() in C++ library。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。