[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • 深度探索C 14 (德)PeterGottschling(彼得·哥特史林) 著 吳
    該商品所屬分類:計算機/網絡 -> 計算機/網絡
    【市場價】
    1169-1696
    【優惠價】
    731-1060
    【作者】 (德)Peter 
    【出版社】電子工業出版社 
    【ISBN】9787121354984
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    ISBN編號:9787121354984
    書名:深度探索C++14 深度探索C++14
    作者:(德)Peter

    譯者:吳野
    代碼:128
    開本:16開

    是否是套裝:否
    出版社名稱:電子工業出版社

        
        
    "

    深度探索C++14

    作  者: (德)PeterGottschling(彼得·哥特史林) 著 吳野 譯
    size="731x8"
    定  價: 128
    size="731x8"
    出?版?社: 電子工業出版社
    size="731x8"
    出版日期: 2020年07月01日
    size="731x8"
    頁  數: 500
    size="731x8"
    裝  幀: 平裝
    size="731x8"
    ISBN: 9787121354984
    size="731x8"
    主編推薦

    "如今科學工程項目越來越大、越來越復雜,許多項目都采用C++來完成。同時,隨著嵌入式硬件的日益強大,嵌入式軟件編程語言也轉向C++。從嵌入式硬件到不錯編程抽像,C++幾乎支持每個層級的編程。總而言之,C++是一門每一個技術人員都需要了解的語言。 本書深入介紹了基於C++不錯功能的復雜方法。作者選用了多個不同領域的案例,同時結合了向物理學、數學和工程學等專業學生教授C++的豐富經驗,來介紹C++中的關鍵概念。 本書旨在幫助你快速入門,也會讓你掌握從lambda表達式到模板表達式的諸多高階功能。......

    目錄
    ●章 C++基礎(C++ Basics) 1 1.1 個程序(Our First Program) 1 1.2 變量(Variables) 4 1.2.1 常量(Constants) 7 1.2.2 字面量(Literals) 7 1.2.3 非窄化的初始化(non-narrowing initialization) 9 1.2.4 作用域(Scopes) 11 1.3 操作符(Operators) 13 1.3.1 算術操作符(Arithmetic Operators) 14 1.3.2 布爾操作符(Boolean Operators) 17 1.3.3 位操作符(Bitwise Operators) 18 1.3.4 賦值(Assignment) 19 1.3.5 程序流(Program Flow) 19 1.3.6 內存處理(Memory Handling) 20 1.3.7 訪問操作符(Access Operators) 21 1.3.8 類型處理(Type Handling) 21 1.3.9 錯誤處理(Error Handling) 21 1.3.10 重載(Overloading) 22 1.3.11 操作符優先級(Operator Precedence) 22 1.3.12 避免副作用(Avoid Side Effects!) 22 1.4 表達式和語句(Expressions and Statements) 25 1.4.1 表達式(Expressions) 25 1.4.2 語句(Statements) 26 1.4.3 分支(Branching) 27 1.4.4 循環(Loops) 29 1.4.5 goto 33 1.5 函數(Functions) 33 1.5.1 參數(Arguments) 34 1.5.2 返回結果(Returning Results) 36 1.5.3 內聯(Inlining) 37 1.5.4 重載(Overloading) 38 1.5.5 main函數(main Function) 40 1.6 錯誤處理(Error Handling) 41 1.6.1 斷言(Assertions) 41 1.6.2 異常(Exceptions) 43 1.6.3 靜態斷言(Static Assertions) 48 1.7 I/O 48 1.7.1 標準輸出(Standard Output) 48 1.7.2 標準輸入(Standard Input) 49 1.7.3 文件的輸入和輸出(Input/Output with Files) 49 1.7.4 泛化的流概念(Generic Stream Concept) 50 1.7.5 格式化(Formatting) 51 1.7.6 處理輸入輸出錯誤(Dealing with I/O Errors) 53 1.8 數組、指針和引用(Arrays, Pointers, and References) 56 1.8.1 數組(Arrays) 56 1.8.2 指針(Pointers) 58 1.8.3 智能指針(Smart Pointers) 62 1.8.4 引用(References) 65 1.8.5 指針和引用的比較(Comparison between Pointers and References) 66 1.8.6 不要引用過期數據(Do Not Refer to Outdated Data!) 67 1.8.7 數組的容器(Containers for Arrays) 67 1.9 軟件項目結構化(Structuring Software Projects) 70 1.9.1 注釋(Comments) 70 1.9.2 預編譯指示字(Preprocessor Directives) 71 1.10 練習(Exercises) 75 1.10.1 年齡(Age) 75 1.10.2 數組和指針(Arrays and Pointers) 76 1.10.3 讀取一個矩陣市場文件的頭部(Read the Header of a Matrix Market File) 76 第2章 類(Classes) 77 2.1 為普遍意義而不是技術細節編程(Program for Universal Meaning Not for Technical Details) 77 2.2 成員(Members) 79 2.2.1 成員變量(Member Variables) 80 2.2.2 可訪問性(Accessibility) 80 2.2.3 訪問操作符(Access Operators) 83 2.2.4 類的靜態聲明符(The Static Declarator for Classes) 84 2.2.5 成員函數(Member Functions) 84 2.3 設置值:構造函數和賦值(Setting Values: Constructors and Assignments) 85 2.3.1 構造函數(Constructors) 86 2.3.2 賦值(Assignment) 96 2.3.3 初始化器列表(Initializer Lists) 97 2.3.4 一致性初始化(Uniform Initialization) 99 2.3.5 移動語義(Move Semantic) 101 2.4 析構函數(Destructors) 105 2.4.1 實現準則(Implementation Rules) 105 2.4.2 適當處理資源(Dealing with Resources Properly) 106 2.5 自動生成方法清單(Method Generation Résumé) 112 2.6 成員變量訪問(Accessing Member Variables) 113 2.6.1 訪問函數(Access Functions) 113 2.6.2 下標操作符(Subscript Operator) 115 2.6.3 常量成員函數(Constant Member Functions) 116 2.6.4 引用限定的變量(Reference-Qualified Members) 117 2.7 操作符重載的設計(Operator Overloading Design) 118 2.7.1 保持一致!(Be Consistent!) 119 2.7.2 注意優先級(Respect the Priority) 120 2.7.3 成員函數和自由函數(Member or Free Function) 120 2.8 練習(Exercises) 123 2.8.1 多項式(Polynomial) 123 2.8.2 移動賦值(Move Assignment) 123 2.8.3 初始化器列表(Initializer List) 123 2.8.4 資源管理(Resource Rescue) 124 第3章 泛型編程(Generic Programming) 125 3.1 函數模板(Function Templates) 125 3.1.1 實例化(Instantiation) 127 3.1.2 參數類型的推導(Parameter Type Deduction) 128 3.1.3 在模板中處理錯誤(Dealing with Errors in Templates) 132 3.1.4 混合類型(Mixing Types) 133 3.1.5 一致性初始化(Uniform Initialization) 134 3.1.6 自動返回值類型(Automatic return Type) 134 3.2 命名空間與函數查找(Namespaces and Function Lookup) 135 3.2.1 命名空間(Namespaces) 135 3.2.2 參數相關查找(Argument-Dependent Lookup) 138 3.2.3 命名空間限定還是ADL(Namespace Qualification or ADL) 142 3.3 類模板(Class Templates) 144 3.3.1 一個容器的範例(A Container Example) 144 3.3.2 為類和函數設計統一的接口(Designing Uniform Class and Function Interfaces) 146 3.4 類型推導與定義(Type Deduction and Definition) 153 3.4.1 自動變量類型(Automatic Variable Type) 153 3.4.2 表達式的類型(Type of an Expression) 154 3.4.3 decltype(auto) 155 3.4.4 定義類型(Defining Types) 156 3.5 關於模板的一點點理論:概念(A Bit of Theory on Templates: Concepts) 158 3.6 模板特化(Template Speization) 159 3.6.1 為單個類型特化類(Speizing a Class for One Type) 159 3.6.2 函數特化和重載(Speizing and Overloading Functions) 162 3.6.3 部分特化(Partial Speization) 164 3.6.4 函數的部分特化(Partially Speizing Functions) 165 3.7 模板的非類型參數(Non-Type Parameters for Templates) 168 3.8 仿函數(Functors) 170 3.8.1 類似函數的參數(Function-like Parameters) 172 3.8.2 組合仿函數(Composing Functors) 173 3.8.3 遞歸(Recursion) 175 3.8.4 泛型歸納函數(Generic Reduction) 179 3.9 匿名函數(Lambda) 180 3.9.1 捕獲(Capture) 181 3.9.2 按值捕獲(Capture by Value) 181 3.9.3 按引用捕獲(Capture by Reference) 182 3.9.4 廣義捕獲(Generalized Capture) 184 3.9.5 泛型匿名函數(Generic Lambdas) 185 3.10 變參模板(Variadic Templates) 186 3.11 練習(Exercises) 188 3.11.1 字符串表示(String Representation) 188 3.11組的字符串表示(String Representation of Tuples) 188 3.11.3 泛型棧(Generic Stack) 188 3.11.4 向量的迭代器(Iterator of a Vector) 189 3.11.5 奇數迭代器(Odd Iterator) 189 3.11.6 奇數範圍(Odd Range) 189 3.11.7 bool變量的棧(Stack of bool) 190 3.11.8 自定義大小的棧(Stack with Custom Size) 190 3.11.9 非類型模板參數的推導(Deducing Non-type Template Arguments) 190 3.11.10 梯形公式(Trapezoid Rule) 190 3.11.11 仿函數(Functor) 191 3.11.12 匿名函數(Lambda) 191 3.11.13 實現make_unique(Implement make_unique) 191 第4章 庫(Libraries) 192 4.1 標準模板庫(Standard Template Library) 193 4.1.1 入門示例(Introductory Example) 193 4.1.2 迭代器(Iterators) 194 4.1.3 容器(Containers) 199 4.1.4 算法(Algorithms) 208 4.1.5 超越迭代器(Beyond Iterators) 215 4.2 數值(Numerics) 216 4.2.1 復數(Complex Numbers) 217 4.2.2 隨機數發生器(Random Number Generators) 220 4編程(Meta-programming) 230 4.3.1 極限(Limits) 230 4.3.2 類型特征(Type Traits) 232 4.4 支持庫(Utilities) 234 4.4組(Tuple) 235 4.4.2 函數(function) 238 4.4.3 引用包裝器(Reference Wrapper) 240 4.5 就是現在(The Time Is Now) 242 4.6 並發(Concurrency) 244 4.7 標準之外的科學計算程序庫(Scientific Libraries Beyond the Standard) 248 4.7.1 其他算術運算庫(Other Arithmetics) 248 4.7.2 區間算術(Interval Arithmetic) 248 4.7.3 線性代數(Linear Algebra) 249 4.7.4 常微分方程(Ordinary Differential Equations) 249 4.7.5 偏微分方程(Partial Differential Equations) 249 4.7.6 圖論算法(Graph Algorithms) 250 4.8 練習(Exercises) 250 4.8.1 按模排序(Sorting by Magnitude) 250 4.8.2 STL容器(STL Container) 250 4.8.3 復數(Complex Numbers) 250 第編程(Meta-Programming) 252 5.1 讓編譯器進行計算(Let the Compiler Compute) 252 5.1.1 編譯期函數(Compile-Time Functions) 253 5.1.2 擴展的編譯期函數(Extended Compile-Time Functions) 255 5.1.3 質數(Primeness) 257 5.1.4 此常數?彼常數?(How Constant Are Our Constants?) 259 5.2 提供和使用類型信息(Providing and Using Type Information) 260 5.2.1 類型特征(Type Traits) 261 5.2.2 條件異常處理(Conditional Exception Handling) 264 5.2.3 一個const整潔視圖的用例(A const-Clean View Example) 265 5.2.4 標準類型特征(Standard Type Traits) 272 5.2.5 領域特定的類型屬性(Domain-Specific Type Properties) 272 5.2.6 enable_if 274 5.2.7 新版變參模板(Variadic Templates Revised) 278 5.3 表達式模板(Expression Templates) 281 5.3.1 一個簡單的操作符實現(Simple Operator Implementation) 281 5.3.2 一個表達式模板類(An Expression Template Class) 285 5.3.3 泛化的表達式模板(Generic Expression Templates) 288 5優化:編寫你自己的編譯器優化(Meta-Tuning: Write Your Own Compiler Optimization) 290 5.4.1 經典的固定大小的循環展開(Classical Fixed-Size Unrolling) 292 5.4.2 嵌套展開(Nested Unrolling) 295 5.4.3 動態循環展開――熱身(Dynamic Unrolling―Warm-up) 301 5.4.4 展開向量表達式(Unrolling Vector Expressions) 303 5.4.5 調優表達式模板(Tuning an Expression Template) 305 5.4.6 調優縮減運算(Tuning Reduction Operations) 308 5.4.7 調優嵌套循環(Tuning Nested Loops) 316 5.4.8 調優一覽(Tuning Résumé) 322 5.5 練習(Exercises) 323 5.5.1 類型特征(Type Traits) 323 5.5.2 Fibonacci數列(Fibonacci Sequence) 323 5.5編程版的優選公約數(Meta-Program for Greatest Common Divisor) 323 5.5.4 向量表達式模板(Vector Expression Template) 324 5.5列表(Meta-List) 325 第6章 面向對像編程(Object-Oriented Programming) 326 6.1 基本原則(Basic Principles) 327 6.1.1 基類和派生類(Base and Derived Classes) 327 6.1.2 繼承構造(Inheriting Constructors) 331 6.1.3 虛函數和多態類(Virtual Functions and Polymorphic Classes) 332 6.1.4 基於繼承的仿函數(Functors via Inheritance) 338 6.2 消除冗餘(Removing Redundancy) 339 6.3 多重繼承(Multiple Inheritance) 340 6.3.1 多個父類(Multiple Parents) 340 6.3.2 公共祖父(Common Grandparents) 342 6.4 通過子類型進行動態選擇(Dynamic Selection by Sub-typing) 347 6.5 轉換(Conversion) 350 6.5.1 在基類和派生類之間轉換(Casting between Base and Derived Classes) 351 6.5.2 const轉換(const-Cast) 356 6.5.3 重解釋轉型(Reinterpretation Cast) 356 6.5.4 函數風格的轉型(Function-Style Conversion) 357 6.5.5 隱式轉換(Implicit Conversions) 359 6.6 CRTP 359 6.6.1 一個簡單的例子(A Simple Example) 360 6.6.2 一個可復用的訪問操作符(A Reusable Access Operator) 361 6.7 練習(Exercises) 364 6.7.1 無冗餘的菱形繼承(Non-redundant Diamond Shape) 364 6.7.2 繼承向量類(Inheritance Vector Class) 364 6.7.3 克隆函數(Clone Function) 364 第7章 科學計算項目(Scientific Projects) 365 7.1 常微分方程解算器的實現(Implementation of ODE Solvers) 365 7.1.1 常微分方程(Ordinary Differential Equations) 366 7.1.2 龍格-庫塔法(Runge-Kutta Algorithms) 368 7.1.3 泛型實現(Generic Implementation) 369 7.1.4 展望(Outlook) 376 7.2 創建工程(Creating Projects) 377 7.2.1 構建過程(Build Process) 378 7.2.2 構建工具(Build Tools) 382 7.2.3 分離編譯(Separate Compilation) 386 7.3 最終的話(Some Final Words) 391 附錄A 雜談(Clumsy Stuff) 393 A.1 更多好的或者不好的軟件(More Good and Bad Scientific Software) 393 A.2 細節中的基礎(Basics in Detail) 400 A.2.1 關於字面量修飾的其他事項(More about Qualifying Literals) 400 A.2.2 靜態變量(static Variables) 401 A.2.3 關於if的其他事項(More about if) 402 A.2.4 達夫設備(Duff’s Device) 404 A.2.5 關於main的其他事項(More about main) 404 A.2.6 異常還是斷言?(Assertion or Exception?) 405 A.2.7 二進制I/O(Binary I/O) 406 A.2.8 C風格的I/O(C-Style I/O) 407 A.2.9 垃圾收集(Garbage Collection) 408 A.2.10 宏的麻煩(Trouble with Macros) 409 A.3 現實世界的用例:矩陣求逆(Real-World Example: Matrix Inversion) 411 A.4 類的一些細節(Class Details) 421 A.4.1 指向成員的指針(Pointer to Member) 421 A.4.2 更多的初始化例子(More Initialization Examples) 422 A.4.3 多維數組的存取(Accessing Multi-dimensional Arrays) 423 A.5 方法的生成(Method Generation) 426 A.5.1 控制生成的代碼(Controlling the Generation) 428 A.5.2 代碼生成的規則(Generation Rules) 429 A.5.3 陷阱和設計指南(Pitfalls and Design Guides) 434 A.6 模板相關的細節(Template Details) 438 A.6.1 統一初始化(Uniform Initialization) 438 A.6.2 哪個函數被調用了?(Which Function Is Called?) 439 A.6.3 針對特定硬件的特化(Speizing for Specific Hardware) 442 A.6.4 變參二進制I/O(Variadic Binary I/O) 443 A.7 使用C++03中的std::vector(Using std::vector in C++03) 444 A.8 復古風格的動態選擇(Dynamic Selection in Old Style) 445 A編程的一些細節(Meta-Programming Details) 446 A.9.1 歷史程序(First Meta-Program in History) 446 A.9函數(Meta-Functions) 448 A.9.3 向下兼容的靜態斷言(Backward-Compatible Static Assertion) 450 A.9.4 匿名類型參數(Anonymous Type Parameters) 450 A.9.5 “動態循環展開”的性能基準測試源碼(Benchmark Sources of Dynamic Unrolling) 454 A.9.6 矩陣乘法的性能基準測試(Benchmark for Matrix Product) 455 附錄B 編程工具(Programming Tools) 456 B.1 gcc 456 B.2 調試(Debugging) 457 B.2.1 基於文本的調試器(Text-Based Debugger) 458 B.2.2 使用圖形界面DDD進行調試(Debugging with Graphical Interface: DDD) 460 B.3 內存分析(Memory Analysis) 462 B.4 gnuplot 463 B.5 UNIX、Linux和macOS繫統(UNIX, Linux, and macOS) 464 附錄C 語言定義(Language Definitions) 467 C.1 值類別(Value Categories) 467 C.2 操作符概覽(Operator Overview) 468 C.3 類型轉換規則(Conversion Rules) 470 C.3.1 類型提升(Promotion) 471 C.3.2 其他類型提升(Other Conversions) 471 C.3.3 常用的數值轉換(Usual Arithmetic Conversions) 472 C.3.4 窄化(Narrowing)
    內容虛線

    內容簡介

    size="789x11"

    本書從傳統的Hello World開始,先介紹了語言入門C++所必須的基本要素(如表達式、語句、聲明);再到和程序組織有關的函數、類;然後深入探討了C++所支持的泛型編程和面向對像等不同編程範式,並且提供了很多的例子可以讓讀者仔細體會它們之間的聯繫、區別和適用場景;很後再以一個中型項目為例介紹了一些大型工程所推薦的基礎知識。本書適合C++初學者、正在開發和維護科學和工程軟件的軟件工程師,以及希望學習和理解現代C++機制如泛型編程的讀者。

    作者簡介

    (德)PeterGottschling(彼得·哥特史林) 著 吳野 譯

    size="43x26"

    "Peter Gottschlling 致力於開發靠前的科學計算軟件,並希望他的熱情能打動讀者。他開發了矩陣模板庫(Matrix Template Library 4,MTL4),同時也是許多程序庫的合作開發者,如Boost Graph Library。他在大學的基礎C++課程和專業培訓課程中分享了這些開發經驗,並很終促使了本書的誕生。 他是ISO C++標準委員會成員、德國編程語言標準委員會副主席、德累斯頓C++用戶組創始人。年少之時,他在德累斯頓工業大學同時學習計算機科學和數學,拿到了雙學士學位,並獲得了計算機科學專業的博士學位。在經歷了一場學術機構中的“冒險”之後,他創立了自己的公司S......

    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部