私は2003年にC++を使い続け、再訪しようとしていて、新しいものを学びます。 Javaでしばらくの間働いており、ラムダ構文を学んでいます。この例題をC++で見て、誰かが説明できるかどうか疑問に思った。C++のラムダと演算子の構文
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int i = 42;
char code = 'c';
[=, &i]() mutable
{
i++;
code = 'd';
std::cout << "i: " << i << "code " << code << std::endl;
}();
void wait()
{
cin.clear();
cin.ignore();
cin.get();
}
int main()
{
std::cout << "i: " << i << "code " << code << endl;
// hold output window open
wait();
return 0;
}
operator = overloadの新しいラムダ構文はありますか?私はテスト関数を書くだろうが、それを呼び出す方法がわからない。
いいえ、それはありません。あなたはそれを実行しようとしたことを観察したことがありますか? – litelite
いいえ、そうではありません。あなたはlambdasでいくつかの読書を行う必要があります。 sidenoteとして、この '<< cout :: endl;'はコンパイルされません。 – Ron
https://stackoverflow.com/questions/7627098/what-is-a-lambda-expression-in-c11 –