std::bind

利用std::bind可以改變可調用對象的參數(shù)數(shù)量順序
std::placeholders::_n為占位符,代表新的可調用對象的第n個參數(shù)。

auto g = bind(f, a, b, std::placeholders:_2, c, std::placeholders:_1);

假定f是一個可調用對象,它有5個參數(shù),使用std::bind綁定后,生成新的可調用對象g,它有兩個參數(shù),分別是std::placeholders::_1和std::placeholders::_2。
g的第一個參數(shù)為_1,第二個參數(shù)為_2,對應到f上分別是f的第5個參數(shù)和第三個參數(shù)。

示例:

#include <iostream>
#include <functional>

void printDate(int day, int month, int year)
{
    std::cout << year << "/" << month << "/" << day << std::endl;
}


int main()
{
// 使用示例
    auto printDateNew = std::bind(printDate, std::placeholders::_2, std::placeholders::_1, 2024);
    
    printDateNew(11, 12);

    return 0;
    
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 概述 bind函數(shù)可以看作一個通用的函數(shù)適配器,所謂適配器,即使某種事物的行為類似于另外一種事物的一種機制,如容器...
    荏苒何從cc閱讀 13,998評論 0 4
  • 1. 可調用對象 可調用對象有一下幾種定義: 是一個函數(shù)指針,參考 C++ 函數(shù)指針和函數(shù)類型; 是一個具有ope...
    georgeguo閱讀 133,333評論 5 76
  • 可調用對象 普通函數(shù)、類的成員函數(shù)、重載了()的類對象、函數(shù)指針、lambda函數(shù)。 函數(shù)類型由它的返回值和參數(shù)類...
    鐘離惜閱讀 492評論 0 0
  • 1. 什么是std::function std::function其實就是一個類模板,含有c的函數(shù)指針概念。 類模...
    涼拌姨媽好吃閱讀 4,364評論 1 4
  • std::bind的基本用法是,綁定一個函數(shù)對象,和一堆參數(shù),生成一個新的可調用函數(shù),調用該函數(shù)時,會調用綁定的函...
    daniel_lbg閱讀 2,814評論 0 2

友情鏈接更多精彩內容