C ++の新機能---ラムダ式

#include <アルゴリズム> 
の#include <iostreamの> 
する#include <機能> 
の#include <ベクトル> 
の#include <数値> 
の#include <配列> 
の#include <CStringの> 
する#include <cstdioを>
 使用して 名前空間  STD;
 // 溶液入れ子関数問題は、
int型MAIN1が()
{ 
    // }(); [] {COUT << "こんにちはラムダ" // 匿名ラムダ式は、()の最後のブラケット果たした役割呼び出す

    オートファン = [] {COUTを<< " こんにちはラムダ" ;}; // 関数ポインタ 
    楽しいです();// コール

} 
int型
    ダブル B){ 戻り A + B。}。


    COUT <<ファン(1019.1)<< ENDL;
     // - >との間の(){}指定された戻り型 
    自動FUN1 = [](ダブル A、ダブル B) - > INT { 戻り A + B。 }; 
    COUT << FUN1(1019.1)<< ENDL;
     // インライン拡張はなく、フェッチアドレス


    // - > decltype(A + B)型推論 
    自動fun2 = [](ダブル A、ダブル B) - > decltype(A + B){ 戻り A + B;}; 
    COUT << fun2(1019.1)<< ENDL; 

} 
int型のmain()
{ 

    int型 NUM = 100 ; 
    自動ファン = [](INT NUM)= {NUM 5。、NUM COUT << << ENDL;}; 
    ファン(NUM); // 従うコピー、コピー 
    COUT << " メイン:" << NUM << てendl; 
}

 

例2:

書式#include <アルゴリズム> 
書式#include <iostreamの> 
の#include <機能> 
の#include <ベクトル> 
の#include <数値> 
の#include <配列> 
の#include <CStringの> 
の#include <cstdioを>
 使用して 、名前空間  STD;
 // ラムダ式は主です埋め込みコードを解決するため、CPPは、ラムダ式をサポート
 // ;)([]()multable-> INT {} // 匿名式
 // 元の改革のコピーを読み取り、[] =参照のみ読み取ることができる=可変変更することはできません、&元読み取り
 // ()のパラメータを、INT A、BのINT
 // {文は}()を呼び出し、達成
 // 戻り値を指定- >
 // C11自動をサポートしていないが。C14サポート
int型MAIN1()
{ 
    int型endl; 
    システム("
    
    
    
       PAUSE " ); 
    
} 
int型MAIN2()
{ 

    int型 A = 10、Bが= 9、Cの= 8 ;
     // &A、読み書き可能な、B、Cのみが読むことができる
     // {)([&A、B、C]を= 111 A、COUT << << B C << << ENDL;}();
     // A、B、Cのみを読み取ることができる
     // [A、B、C](){A = 111、COUT < <<< B C << << ENDL;}()
     // 可変コピーは、コピーの書き込みに、原稿を読み取る、読み取りおよび書き込みができる 
    〔、B、C](){可変Aが= 111、B = 123、C = 321、COUT << << B C << << ENDL;}();
    // [=]全て指定することができ

} 
int型)(main3を
{
    // のみvs2015に適用 
    ({COUT << << ENDL} [](オートA、オートB)A + Bを1011。); // 14推論C ++データ型 
    [](オートA、オートBを){A + B COUT << << ENDL;}(10.811 ); 
    [](オートA = 0、オートB = 0){A + B COUT << << ENDL;}(10.811 ); 
    [](int型 A = 0INT B = 0){A + B COUT << << ENDL;}(10.811 ); 

} 
int型のmain()
{ 
    アレイ <INT10 >ミント{ 123456789 }。// CPP风格数值 
    for_each(myint.begin()、myint.end()、[](INT NUM){COUT << NUM << "  " ;}); // 显示数值 
    for_each(myint.begin()、myint.end()、[](INT&NUM){NUM + 1、COUT << NUM << "  " ;}); // 修改 
    for_each(myint.begin()、myint.end()、[](int型NUM){NUM COUT << << "  " ;}); // 変更された値を表示 
}

 

おすすめ

転載: www.cnblogs.com/bwbfight/p/11299100.html