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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Introduction(導言) 作者:Scott Meyers 譯者:fatalerror99 (iTePub's Nirvana) 發布:http://blog.csdn.net/fatalerror99/ 學習一種編程語言的基礎是一回事;學習如何用那種語言設計和實現高效率的程序完全是另外一回事。對于 C++ ——一種以擁有非同尋常的能力范圍和表現力而自豪的語言——更是尤其如此。如果能正確使用,與 C++ 共事是一件令人快樂的事情。極多樣的設計樣式被直接表達并有效實現。對于 classes(類),functions(函數),以及 templates(模板)的明智選擇和小心精巧的安排能使應用程序的編程更加簡單,直觀,高效,并基本無錯。如果你知道如何去做,寫出高效的 C++ 程序并不特別難。然而,如果不經訓練就貿然使用,C++ 也會導致不可理解的,難以維護的,無法擴展的,低效率的,錯誤百出的代碼。 本書的目的在于引導你如何高效使用 C++。我假設你已經熟悉了作為語言的 C++ 并有使用它的一些經驗。我在此提供的是使用這種語言的指南,以使你的程序易于理解,可維護,易移植,可擴展,效率高,而且行為符合你的預期。 我提供的建議落在兩個主要的范圍中:普通的設計策略,以及特殊語言特性的具體細節。設計的討論集中于如何在 C++ 做某件事情的多種不同方法之間進行選擇。如何在 inheritance(繼承)和 templates(模板)之間選擇?如何在 public(公有)和 private inheritance(私有繼承)之間選擇?如何在 private inheritance(私有繼承)和 composition(復合)之間選擇?如何在 member(成員)和 non-member functions(非成員函數)之間選擇?如何在 pass-by-value(傳值)和 pass-by-reference(傳引用)之間選擇?在一開始就做出正確的決定是很重要的,因為一個不好的選擇可能會直到開發過程很晚的階段才顯現出來,在這時候再調整它常常是困難重重,極為耗時而且代價不菲的。 即使在你正確地知道你要做什么的時候,僅僅把事情做對也是需要技巧的。assignment operators(賦值運算符)的合適的返回類型是什么?destructor(析構函數)什么時候應該是 virtual(虛擬)的?當 operator new(運算符 new)找不到足夠的內存時它應該怎么辦?類似這些的令人費神的細節是至關重要的,因為錯誤的做法幾乎總是導致無法預料的,很可能令人迷惑的程序行為。這本書正是來幫助你避免這些問題的。 這不是一本全面的 C++ 手冊。它收集了 55 個詳細的提議(我將它們稱為 Items)告訴你怎樣才能改善你的程序和設計。每一個 Item 都能 stands more or less on its own(獨立成章),但大部分也包含對其它 Items 的參考。因而,讀這本書的一個方法就是從你感興趣的一個 Item 開始,然后順著它的參考條目繼續看下去。 這本書也不是一本 C++ 入門書。例如,在 Chapter 2(第二章),我希望能告訴你關于 constructors(構造函數),destructors(析構函數),以及 assignment operators(賦值運算符)正確實現的全部內容,但是我假設你已經知道或者能在別處找到這些函數做些什么以及它們該怎樣聲明的資料。大量 C++ 書籍包含類似這樣的信息。 這本書的目的是為了突出 C++ 編程中那些常常被忽略的方面。其它書描述了語言的各個部分。這本書則告訴你如何將這些部分結合起來以達到高效編程的最終目的。其它書告訴你如何使你的程序能夠編譯。這本書則告訴你如何避免那些編譯器不能告訴你的問題。 與此同時,本書將自己限制在 standard C++(標準 C++)之內。在此僅僅使用官方的語言標準中的特性。可移植性是本書一個關鍵的關注點,所以如果你要尋找平臺依賴的特性和部件,在這里不會找到。 另一個在本書中找不到的東西是 C++ Gospel(C++ 福音書)——通向完美的 C++ 軟件的一條 One True Path(真理之路)。本書中的每一個 Item 都在如何生成更好的設計,如何避免一般的問題,以及如何得到更高的效率等方面提供指導,但沒有一個 Item 是普遍適用的。軟件設計和實現是一項復雜的任務,被 hardware(硬件),operating system(操作系統),和 application(應用程序)的限制所影響,所以我能做的最好的事情就是為創建更好的程序提供 guidelines(指導方針)。 如果你在所有的時候都遵守這些 guidelines(指導方針),你將不太可能落入環繞在 C++ 周圍的大量陷阱中,但是作為 guidelines(指導方針)的固有限制,它總有例外。這就是為什么每一個 Item 都有一個詳細的解釋。這些解釋是本書中最重要的部分。只有理解了一個 Item 背后的基本原理,你才能決定它是否適合你開發的軟件以及你被困其下的特有的限制。 本書最好用來增加關于 C++ 如何運轉,為什么它會這樣運轉,以及如何讓它的行為為你服務等方面的知識。盲目運用本書的 Items 無疑是不適當的,但是與此同時,如果你沒有更好的理由,或許也不應該違反這些 guidelines(指導方針)中的任何一條。
                  <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>

                              哎呀哎呀视频在线观看