boost bind初步探究 (四)

2014-11-24 00:59:37 · 作者: · 浏览: 12
// static assert I == is_placeholder::value
typedef char T_must_be_placeholder[ I == is_placeholder >::value 1: -1 ];
}
};

struct arg <2>
{
.....
arg( arg<1> const & /* t */ )
{
// static assert I == is_placeholder::value
typedef char T_must_be_placeholder[ I == is_placeholder >::value 1: -1 ];
}
};is_placeholder >::value == 1,而I == 2,因此,你会得到一个
[cpp]
typedef char T_must_be_placeholder[ -1 ];

typedef char T_must_be_placeholder[ -1 ];因此,你将收到一个编译错误。仅此而已。


其他
到此为止,boost bind的关键部分就已经清楚了。boost还有些高级议题,如类的成员函数的绑定、变量引用、绑定嵌套等等。这些议题都是以此为基础,再增加了一些新模板参数而已,已经不是实现的核心了,有兴趣的同学可以自己看看。