C++ 11 笔记 (四) : std::bind
生活随笔
收集整理的這篇文章主要介紹了
C++ 11 笔记 (四) : std::bind
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
std::bind 接受一個可調(diào)用的對象,一般就是函數(shù)唄。。
還是先上代碼:
1 void func(int x, int y, int z) 2 { 3 std::cout << "hello!" << x << y << z << std::endl; 4 }我們可以通過std::bind調(diào)用這個函數(shù):
1 std::_Bind<true, void, void(*const)(int, int, int), int, int, int> test_bind = std::bind(func, 7, 8, 9);其中7,8,9是傳給func函數(shù)的參數(shù)。看這惡心的聲明,簡直比上一篇博客舉得例子還要惡心,所以auto又大顯身手了:
1 auto test_bind = std::bind(func, 7, 8, 9);短了好多好多啊。。。
?
這時候我們調(diào)用:
1 test_bind();就會打印“hello!789”了。
?
然后再說一下占位符,我們把test_bind改成這樣:
1 auto test_bind = std::bind(func, std::placeholders::_1, std::placeholders::_2, 9);這時候我們可以調(diào)用:
1 test_bind(1, 2);就會打印“hello!129”。也就是前兩個參數(shù)是可以指定的了。(第三個參數(shù)不可以)。
其中?std::placeholders::_1 是占位符,我試了試好像能到 _20 (這。。)
?
在我看來,std::bind這個東西用在寫事件回調(diào)中很好用~~~
轉(zhuǎn)載于:https://www.cnblogs.com/wolfred7464/p/3685294.html
總結(jié)
以上是生活随笔為你收集整理的C++ 11 笔记 (四) : std::bind的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS 程序插件及功能动态更新思路┊
- 下一篇: 菜根谭#109