kullanımıC++ 11 lambda yakalama listesi [=], bir şablon işlevi bir referans referans
template<class T>
void test(T&&i)
{
++i;
std::cout << i << std::endl;
}
template<class T>
void typetest(T&& t)
{
++t;
T t1(t);
[=]() mutable { std::cout << t1 << std::endl; return test(t1); }();
std::cout << t << std::endl;
}
int main()
{
int i=1;
typetest(i);
}
bu
2
3
2
Ancak içinde yazdırır T
, test(t1)
numaralı telefondan olmalıdır. Neden çıkış sağlamak değildir lambda o test()
geçer t1
yerel bir kopyasını elde eder, bu nedenle yakalama değer-ile-[=]
sayesinde
2
3
3
Lambda test ediyorum. [=]() mutable {mytesttypecode (decltype (t1)); dönüş testi (t1);}(); ve t1 int &. iyi bir şey sanmıyorum ..... – user1625647