函数调用运算符()
14.8函數(shù)調用運算符"()"
1.函數(shù)調用運算符必須是成員函數(shù),一個類可以定義多個不同版本的調用運算符,但是他們相互之間應該在參數(shù)數(shù)量或返回類型上有所區(qū)別。定義了調用運算符的類的對象稱之為“函數(shù)對象”。此對象類似于函數(shù)名。
2. for_each只接受一元謂詞 如:for_each(vs.begin, vs.end(), PrintString(cerr, '\n'));for_each每次都會講一個vs的元素傳遞給PrintString創(chuàng)建的臨時對象。
3.lambda是未命名的函數(shù)對象類,需多次使用則用類的函數(shù)對象或普通函數(shù),只需單次使用則用lambda表達式。
4.標準庫定義的函數(shù)對象
5.關聯(lián)容器使用less<key_type>對元素排序。
count_if(vec.begin(), vec.end(), bind2nd(greater<int>(), 1024)); //bind2nd表示后面提供的數(shù)字綁定第二個參數(shù)
6.一種調用類型對應一種函數(shù)類型 如:int(int, int)是一個函數(shù)類型,接受兩個int,返回一個int。
7.我們不能直接將重載函數(shù)的名字存入function類型的對象中,可以存儲函數(shù)指針和使用lambda來消除二義性。
轉載于:https://www.cnblogs.com/hi3254014978/p/9412406.html
總結
- 上一篇: Spring Cloud Config
- 下一篇: 【AI超级美发师】深度学习算法打造染发特