c – 可以在本地使用lambda吗?

weixin_38048740 2019-09-12 01:27:55
是否可以将lambda函数定义为仅在本地使用,即在当前块(函数/方法)中?考虑一些代码将要执行多次的情况(因此将它放入函数中是合乎逻辑的)但它永远不会在块之外使用. void foo() { auto bar = []() { // some code applicable only inside foo() }; bar(); bar(); bar(); } 与将bar()声明为正常函数相比,这种方法有哪些优点和缺点?
...全文
21 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38063296 2019-09-12
  • 打赏
  • 举报
回复
如果可以选择这样做,那么是的,将lambda bar本地化为特定函数. 在C中,我们总是尽量将对象保持为本地对象. (使代码更容易理解,简化文档,便于重构,并且& c.& c ..)

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧