c – 使用lambdas来执行嵌套函数
发布时间:2020-12-16 05:41:28 所属栏目:百科 来源:网络整理
导读:在C中使用lambdas做嵌套函数的意见是什么?例如,而不是这样: static void prepare_eggs(){ ...}static void prepare_ham(){ ...}static void prepare_cheese(){ ...}static fry_ingredients(){ ...}void make_omlette(){ prepare_eggs(); prepare_ham(); pr
在C中使用lambdas做嵌套函数的意见是什么?例如,而不是这样:
static void prepare_eggs() { ... } static void prepare_ham() { ... } static void prepare_cheese() { ... } static fry_ingredients() { ... } void make_omlette() { prepare_eggs(); prepare_ham(); prepare_cheese(); fry_ingredients(); } 你做这个: void make_omlette() { auto prepare_eggs = [&]() { ... }; auto prepare_ham = [&]() { ... }; auto prepare_cheese = [&]() { ... }; auto fry_ingredients = [&]() { ... }; prepare_eggs(); prepare_ham(); prepare_cheese(); fry_ingredients(); } 来自使用Pascal学习如何编码的代码,嵌套函数对我来说是完美的.然而,这种用法似乎混淆了我在一个代码审查中工作的一些经验不足的开发人员,我以这种方式使用了lambdas. 解决方法
嵌套函数本身没有任何错误.我使用lambdas作为嵌套函数,但只有当它符合某些条件时:
>它不止一次地被叫. (否则直接写代码,如果不是太长) 所以在你的例子中,我不会使用lambdas的理由第一. 概念上,嵌套函数对于类中的私有方法有用的相同原因可能是有用的.它们执行封装,并且使它更容易看到程序的结构.如果一个函数是一些其他函数的实现细节,那么为什么不明确地这样做呢? 我看到的最大的问题是可读性;读取具有大量嵌套和缩进的代码更加困难.此外,人们对羊羔不太舒服,所以预期会有阻力. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |