<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 泛 型編程與模板元編程 ### Boost.Call_traits 這個庫提供了傳遞參數給函數的最好方法的自動演繹,依據參數的類型。例如,當傳遞的是如`int` 和 `double`這樣的內建類型,最高效的方式是傳值。對于用戶自定義類型,則傳送`const`引用通常更好。Call_traits為你自動選擇正確的參數類型。這個庫還有助于聲明參數為引用,而不用冒引用到引用的風險(在C++這是非法的)。Call_traits常用于要求以最高效方式傳遞參數而又不知道參數類型的泛型函數,并避免引用到引用的問題。 Call_traits 的作者是 Steve Cleary, Beman Dawes, Howard Hinnant, 和 John Maddock. ### Boost.Concept_check Concept_check提供一些類模板,用于測試特定的概念(需求的集合)。泛型(參數化的)代碼要求實例化時的類型必須符合某些抽象概念,如LessThanComparable. 這個庫提供了一些方法來明確地聲明模板的參數化類型的特定需求。代碼的用戶可以獲益,由于需求的文檔化以及編譯器可以產生錯誤信息以明確指出類型不符合這 些概念的地方。Boost.Concept_check提供了超過30個可用于泛型代碼的概念,其中一些原型可用于校驗包括所有相關概念的組件的實現。它 用于在泛型代碼中聲明和證明概念的需求。 Concept_check 的作者是 Jeremy Siek, 他從Alexander Stepanov and Matt Austern的前期工作中得到靈感。 ### Boost.Enable_if Enable_if允許函數模板或類模板的特化體包括/排除在一組匹配的函數或特化體之中/之外。主要的用例是包括/排除基于某些特性的特化體。例如,僅當采用一個整數類型實例化時使能一個函數模板。這個庫還為SFINAE(substitution failure is not an error)提供了一個非常有用的研究機會。 Enable_if 的作者是 Jaakko J?rvi, Jeremiah Willcock, 和 Andrew Lumsdaine. ### Boost.In_place_factory In_place_factory庫是一個直接構造所含對象的框架,包括用于初始化的可變參數列表。它可以消除對所含類型必須是CopyConstructible的要求,并減少了創建不必要的臨時對象的需要,該臨時對象僅用于提供復制所需的源對象。這個庫有助于減少傳送用于對象初始化的參數所需的工作量。 In_place_factory 的作者是 Fernando Cacciola. ### Boost.Mpl Mpl是一個模板元編程庫。它包含了與C++標準庫十分相象的數據結構和算法,但它們是在編譯期使用的。甚至有編譯期的lambda表達式支持!提供編譯期的操作,如產生類型或操作類型序列,在現代C++中越來越普遍,而提供這些功能的庫是非常重要的工具。就我所知,還沒有其它象Mpl這樣的庫。它填充了C++元編程世界的空白。我可以告訴你在你讀本書時有一本關于Boost.Mpl的書正在創作,它就快要面世了,它就是Aleksey Gurtovoy 和 David Abrahams所著的C++ Template Metaprogramming。你應該盡快獲得一本。 Mpl 的作者是 Aleksey Gurtovoy, 并有許多其它人的重要貢獻。 ### Boost.Property_map Property_map是一個概念庫而不是一個真正的實現。它引入了 `property_map` 概念以及`property_map`類型的一組要求,從而給出了對一個key和一個value的映射的語法和語義要求。這在需要聲明必須支持的類型的泛型代碼中很有用。C++數組是一個`property_map`的例子。這個庫包含了Boost.Concept_check可以測試的概念的定義。 Property_map 的作者是 Jeremy Siek. ### Boost.Static_assert 進行編譯期編程的一個公共的需求是提供靜態斷言,即編譯期斷言。另外,獲得一致的錯誤提示不是必然的,由于靜態斷言必須會產生失敗斷言的信號,跨不同的編譯器。Static_assert提供對名字空間、類、函數作用域的靜態斷言的支持。詳細信息見"[Library 3](../Text/content.html#ch03): [Utility](../Text/content.html#ch03)." Static_assert 的作者是 Dr. John Maddock. ### Boost.Type_traits 成功的泛型編程通常需要根據參數化類型進行決策或調整這些類型的屬性(如cv-qualification\[2\])。Type_traits提供關于類型的編譯期信息,如某個類型是否指針或引用,以及增加或去除類型基本屬性。Type_traits已被加入即將發布的Library Technical Report。 > \[2\] 一個類型可以是cv-unqualified (非 `const` 或 `volatile`), const-qualified (`const`), volatile-qualified (聲明為 `volatile`), or volatile-const-qualified (既 `const` 并 `volatile`); 類型的這些版本都是獨特的。 Type_traits 的作者是 Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, John Maddock, 和 Jeremy Siek, 以及其它許多人的貢獻。
                  <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>

                              哎呀哎呀视频在线观看