前两天折腾seastar发现必须C++14,所以我也开始转了。科普一下C++14的几个
接地气的新特性。
auto sqr (int n) { // 自动返回类型
return n * n;
}
// 自动lamba类型。这个我早就很不爽了。
sort(v.begin(), v.end(), [](auto a, auto b){return a.key < b.key;});
// extended capturing
async(launch::async, [x = std::move(x)]() {
...
});
这个特性很重要。如果x是一个超大的对象,在主线程中没用,只需要在
lambda里面用,C++11下只能capture reference,而必须在主线程中保证
x的生存期。用C++14的capture,x的ownership就转移到lambda里面了。