![]() |
1
2
如果编译器是最近发布的版本(例如VisualStudio 2010或GCC 4.5),则可以使用新C++标准中的一些新特性,该标准目前正在批准中,并应尽快发布。 我不知道要在Visual Studio中启用它需要做什么,但它应该在msdn或内部帮助中有良好的文档记录。
对于GCC4.5,只需添加
其中一个功能是 Lambda syntax :
如果您没有访问现代编译器的权限,那么可以使用诸如函数和库(如boost::lambda)之类的技术,这些技术也可以执行类似的操作。 |
![]() |
2
3
编辑:在再次阅读您的问题后,看起来您可能正在寻找C++中的匿名函数。如果这是您想要的,很遗憾,语言不支持该功能。C++要求你在目前的情况下对这些事情有点冗长。如果你需要的不仅仅是什么
在C和C++中,这是使用函数指针或函件和模板(C++)完成的。 例如(使用C++方式(函子))
使用C方式(函数指针):
请注意,您应该更喜欢C++方式,因为它将允许编译器 就内联作出更明智的决定,除非出于某种原因 您仅限于C子集。 |