C++中怎么使用lambda
这篇文章主要介绍“C++中怎么使用lambda”,在日常操作中,相信很多人在C++中怎么使用lambda问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中怎么使用lambda”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
哈尔滨网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
ES.28: 使用lambda表达式进行变量的复杂初始化,特别是常量变量
Reason(原因)
这种方式漂亮地封装了局部初始化,包括清理只在初始化过程中需要的临时变量,而不是生成一个不必要的非局部但却不会重用的函数。它也可以用于应该是常量但却需要某些初始化处理的变量初始化.
Example, bad(反面示例)
widget x; // should be const, but:
for (auto i = 2; i <= N; ++i) { // this could be some
x += some_obj.do_something_with(i); // arbitrarily long code
} // needed to initialize x
// from here, x should be const, but we can't say so in code in this style
Example, good(范例)
const widget x = [&]{
widget val; // assume that widget has a default constructor
for (auto i = 2; i <= N; ++i) { // this could be some
val += some_obj.do_something_with(i); // arbitrarily long code
} // needed to initialize x
return val;
}();
Example(示例)
string var = [&]{
if (!in) return ""; // default
string s;
for (char c : in >> c)
s += toupper(c);
return s;
}(); // note ()
如果可能,将条件压缩为一个由可选项(例如枚举)构成的简单集合并且不要将选择和初始化混用。
Enforcement(实施建议)
很难。最好是启发式的。寻找没有初始化的变量的后面跟着为其赋值的循环的情况.
到此,关于“C++中怎么使用lambda”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
文章标题:C++中怎么使用lambda
分享地址:http://hbruida.cn/article/jpsdhe.html