我正在查看使用Boost.Function的一些代码,并且对于如何编写允许赋值为NULL的代码有疑问。我尝试查找相应的Boost代码,但未能成功。基本上,是什么使这成为可能?
编辑:以下代码在我的电脑上无法编译,那么他们又是如何防止这种情况的呢?
boost::function<void()> func;
func = NULL;
编辑:以下代码在我的电脑上无法编译,那么他们又是如何防止这种情况的呢?
func = 1;
function
是一个多态对象,它保留了指向实际函数(对象)的指针。该指针自然可以为空。 - Gene Bushuyevboost::function
背后的语义。你说的很有道理,谢谢。 - JaredC