C++11 ile gelen özelliklerden biri olan lambda ifadelerinde içinde olduğu bilinirlik alanından value-copy veya reference ile değişkenler, lambda fonksiyonunun gövdesine enjekte edilebiliyordu.
C++14 teki değişiklik ile bu değişkenlere başlangıç değeri de verilebilmekte bu da aslında std::move edilebilmelerinin önünü açıyor.
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i = 10;
auto lambda1 = [i = 5] () {
cout << i << endl;
};
lambda1();
std::unique_ptr<int> ptr(new int(10));
auto lambda2 = [value = std::move(ptr)] {return *value;};
cout << lambda2() << endl;
return 0;
}