C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数调用运算符
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数调用运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 定義
如果類定義了調用運算符(重載了函數調用運算符),則該類的對象被稱作函數對象(function object),可以像使用函數一樣使用該類的對象,
eg.
struct absInt{int operator()(int val) const{return val < 0 ? -val : val;} };int i = -42; absInt absObj; int ui = absObj(i); //i被傳遞給absObj.operator()2. 特性
- 函數調用運算符必須定義為成員函數。
- . 一個類可以定義多個不同版本的調用運算符,相互之間必須在參數數量或類型上有所區別。
- . 具備函數調用運算符的類同時也能存儲狀態,所以與普通函數相比它們更加靈活。
- . 函數對象常常作為泛型算法的實參。
輸出結果:
test test_a1-b1-【引用】
[1] 代碼functionObject.h
總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数调用运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(cha
- 下一篇: s3c2440移植MQTT