这个奇怪的C++语法做什么

  • 本文关键字:语法 C++ c++ pytorch cc
  • 更新时间 :
  • 英文 :


据我所知,有3个参数被传递给m.def((。我不理解传递的第二个参数的语法,即[](Observable…({}这意味着什么?

m.def(
"DumpHistogramFile",
[](Observable<NetBase>::Observer* ob) {
HistogramNetObserver* hist_ob =
dynamic_cast_if_rtti<HistogramNetObserver*>(ob);
hist_ob->DumpHistogramFile();
},
pybind11::arg("ob"));

我在pytorch源代码中发现了这种语法

第二个参数是一个函数,它获取指向Observer的指针,并且不返回任何内容。执行时,它调用DumpHistogramFile。这被称为lambda表达式。

相关内容

  • 没有找到相关文章

最新更新