<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## Lambda 庫如何改進你的程序? * 對函數和函數對象進行適配,使之可用于標準庫算法 * 綁定參數到函數調用 * 將任意的表達式轉換為可以兼容標準庫算法的函數對象 * 就地定義匿名函數,提高代碼的可讀性和可維護性 * 在需要的時間和地點實現謂詞 在使用標準庫或其它采用相似設計的庫時,需要依靠函數或函數對象來對算法 進行配置,你通常要編寫很多小的函數對象來執行一些非常簡單的操作。就象我們在 "[Library 9](../Text/content.html#ch09): [Bind 9](../Text/content.html#ch09)" 看到的那樣,這很容易成為一個問題,因為有大量的小類分散在代碼中,這樣很難進行維護。另外,理解函數對象被調用處的代碼會很難,因為有一部分的功能被定 義在別的地方。一個好的解決辦法是,想辦法就在調用的地方定義這些函數或函數對象。這通常可以使代碼寫得更快,也更容易維護,因為函數的定義就在它被使用 的地方。這正是 Boost.Lambda 庫所要提供的,就地定義匿名函數。Boost.Lambda 可以創建直接定義和調用的函數對象,或者把它保存起來晚一些再調用。這與 Boost.Bind 庫所提供的很相似,但 Boost.Lambda 除了可以進行參數綁定,還有其它功能,增加了控制結構、表達式到函數對象的自動轉換,還支持在 lambda 表達式中的異常處理。 術語 lambda 表達式或 lambda 函數,來源于函數式編程與 lambda 演算。一個 lambda 抽象概念定義了一個匿名函數。雖然 lambda 抽象概念在函數式編程語言(functional programming language)中非常普遍,但是在象C++這樣的命令式編程語言(imperative programming language)中則不是。但是,通過使用象表達式模板這樣的先進技術,C++ 可以在語言中增加某種形式的 lambda 表達式。 創建 Lambda 庫最早的動機是,可以在標準庫算法中使用匿名函數。因為從1998年第一個C++標準發布后,標準庫的使用非常廣泛,我們對于什么好什么不好的認識快速增 長,而其中一個存在疑問的就是,對于眾多小函數對象的定義,好象只需要一個簡單的表達式就可以滿足了。顯然這個庫就是定位于解決這些函數對象的問題,但是 對于 lambda 函數的使用還有很大的探索空間。現在,lambda 函數已經可以使用了,我們可以把它應用于以前需要用完全不同的方法來解決的問題。令人著迷和興奮的是,象C++這樣一種成熟的語言還可以探索出新的編程技 術。匿名函數和表達式模板的出現會帶來怎樣的新用法和新方法呢?事實是,我們不知道,因為我們還沒有全力去試驗它!盡管如此,這里所關注的是這個庫明確要 解決的實際問題,即通過就地定義 lambda 表達式和函數來避免代碼膨脹和功能的分散。我們可以用它做出更多驚人的事情,有了它我們可以更為簡潔,這可以同時滿足程序員和他們的經理,前者可以更加集 中精力在手邊的問題,后者可以獲得更高生產效率的好處(希望也是更容易維護的代碼!)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看