Skip to main content
 首页 » 编程设计

c++之^() {} 和 ^{} 在 C++ 中是什么意思

2024年09月07日12kerrycode

我最近读了一些这样的 C++ 代码:

setData(total, &user, ^() { 
  struct dst_t to = {ip, port}; 
  sendData(to, data); 
}); 
 
 
getData(total, ^{ 
  recvData(data, NULL); 
}); 

没见过 ^() {}也不是 ^{} .他们的意思是什么?某种匿名函数?

请您参考如下方法:

很难找到重复的 ^() {}符号,所以我会发布一个答案。

这些是“块”,它是一个 clang 编译器扩展,可以创建类似 lambda 的闭包。

更多信息请访问 wiki并在 clangs Language Specification for Blocks .

当参数列表为空时,(void)可以省略,^ { recvData(data, NULL); }^ void (void) { recvData(data, NULL); } 相同.