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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # metaprogramming(元編程)and type traits (譯注:原作者還沒有完成這個小節,等原作者完成后中文版隨后奉上。這里補充一點關于元編程(metaprogramming))的基礎知識,供大家參考 1、何謂“元編程(Metaprogramming)”? 具備如下特征之一的程序編寫稱為元編程: 利用或者編寫其它語言程序來作為所編寫程序的數據 在程序運行時完成一些編程工作,而不是在編譯時—具備這種特征的語言,我們也常成為動態語言 2、元編程的優勢 元編程為程序開發人員提供了在與手動編寫所有代碼相同時間內,完成更多工作的可能,同時,由于 在面對新情況時,不需要重新編譯,因此元編程為程序提供了更大的靈活性和可用性。 3、元編程語言 用于元編程的語言,稱作元語言,被元語言所利用的語言通常稱作對象語言。元語言具有自反性。所謂 自反性就是自己描述自己的特性。自反性是元編程中非常重要特點。有些語言中,將自身作為First-class object 也是非常有用的。對于有些可以調用元編成機制的程序語言,也具備自反性。 4、元編程方式 一般來說,實現元編程有兩種方式。 第一種方法是調用API將運行時引擎中的代碼展示為程序代碼 第二種方法是動態執行包含在程序中的字符表達式,也就是我們常說的“程序生成程序”。 雖然,兩種方法都可以實現元編程,但是大多數語言都只是支持其中的一種方法。 5、實例 1)bash script ``` #!/bin/bash # metaprogram echo ‘#!/bin/bash’ >program for ((I=1; I< =992; I++)) do echo "echo $I" >>program done chmod +x program ``` 該腳本產生993行代碼,這便是用程序生成程序的一個例子 2)像Lisp, Python和Javascript等語言可以在程序運行期間修改或者增量編譯,這些程序語言也可以在不產生新代碼的 情況下進行元編程。 3)我們常見的編譯器其實也是元編碼的代表,編譯器通常是用相對簡約的高級語言來產生匯編或者機器代碼。 (翻譯:Yibo Zhu)
                  <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>

                              哎呀哎呀视频在线观看