Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Chapter 7. Boost.Function

Douglas Gregor

Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Introduction(簡介)
History & Compatibility Notes(歷史和兼容性注記)
Tutorial(指南)
Basic Usage(基本用法)
Free functions(自由函數)
Member functions(成員函數)
References to Function Objects(引向函數對象的引用)
Comparing Boost.Function function objects(比較 Boost.Function 函數對像)
Reference(參考)
Definitions(定義)
Header <boost/function.hpp>(頭文件 <boost/function.hpp>)
Header <boost/function_equal.hpp>(頭文件 <boost/function_equal.hpp>)
Frequently Asked Questions(常見問題)
Miscellaneous Notes(雜項注記)
Boost.Function vs. Function Pointers(Boost.Function vs. 函數指針)
Performance(性能)
Combatting virtual function "bloat"(阻止虛擬函數「膨脹」)
Acknowledgements(感謝)
Testsuite(測試組合)
Acceptance tests(接受性測試)
Negative tests(拒絕性測試)

Introduction(簡介)

Boost.Function 庫包含一組作為 function object wrappers(函數對像包裝類)的類模板。在概念上類似一個泛化的 callback(回調)。它在兩種情況下具有和函數指針相同的特性,一種是定義一個可用於某些可調用實現的調用接口(例如,一個持有兩個整型參數並返回 一個浮點值的函數),另一種是在整個程序的流程中可能變化的調用。

通常,使用函數指針的任何地方都是用來推遲一個調用或做一個回調,Boost.Function 可以代替函數指針,允許用戶在目標的實現上擁有更大的彈性。目標可以是任何「兼容的」函數對像(或函數指針),這意味著傳給接口的參數被 Boost.Function 指定為可以轉換為目標函數對象的參數。

Last revised: July 25, 2004 at 02:51:51 GMT


PrevUpHomeNext