iT邦幫忙

0

C++ lambda基本用法小例子

c++
  • 分享至 

  • xImage
  •  

C++中的Lambda表達式(Lambda Expression)是一種在程式碼中直接定義不具名函數的便捷方法。
通常用來封裝幾行只會使用一次、且不需要在其他地方重複呼叫的小程式碼(例如傳遞給 std::sort 或 std::for_each 的排序或走訪邏輯)。蠻好用的。

就是不需要在mail之外定義具名函數就可在mail裡執行函數的功能達到目的,它本身還是函數。

int _tmain(int argc, _TCHAR* argv[])
{
  bool t = false;
  //----- version A ----------
  /* ccc is a lambda, ccc = function
     ccc() = "true"
     auto ccc = lambda; stores the lambda.
  */
  auto ccc = [t] ()  {
    if(t==true)
      return "true";
    else
      return "false";
  };
  cout << ccc() << endl;

  //----- version B ----------
  /* ddd is a string, lambda = function
     lambda() = "true"
     ddd = "true"
     string ddd = lambda(); stores the lambda's return value.
  */
  string ddd = [t] ()  {
    if(t==true)
      return "true";
    else
      return "false";
  }();
  cout << ddd << endl;
  return 0;
}

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言