前面说过,调用元函数类就是调用其内嵌的::apply元函数。当一个lambda表达式中的某个占位符被求值时,其实就是以该lambda表达式的实际参数来调用该占位符,然后该占位符会返回参数中的某一个[2]。再然后求值(返回)的结果会替换lambda表达式中该占位符所“占”的位置。如此重复,直到所有的占位符都被替换成它们所表示的(实际的)参数。
匿名占位符是个非常特殊的占位符,其定义如下:
namespace boost { namespace mpl { namespace placeholders {