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

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • C++新經典
    該商品所屬分類:計算機/網絡 -> 程序設計
    【市場價】
    689-998
    【優惠價】
    431-624
    【作者】 王健偉 
    【所屬類別】 圖書  計算機/網絡  程序設計  CC++C#VCVC++ 
    【出版社】清華大學出版社 
    【ISBN】9787302549727
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787302549727
    作者:王健偉

    出版社:清華大學出版社
    出版時間:2020年08月 

        
        
    "

    產品特色

    編輯推薦

    C 語言基礎知識  面向對像編程、命名空間、容器、迭代器、類、模板與泛型等。
    C 語言高級知識  智能指針、並發與多線程等。
    C 語言擴展知識  有關內存的高級話題、認識STL標準模板庫等。
    C 11新標準  可調用對像、*引用、函數模板類型推斷、引用折疊、完美轉發、auto推斷、decltype、lambda表達式、初始化列表、類型萃取等。
    環境標準
    本書基於C 11新標準編寫,書中全部實例通過 Visual Studio 2019編譯環境調試。
    本書看點:


    實戰經驗總結  24年實際開發經驗總結,C/C 技術精華荟萃。
    知識覆蓋全面  理論內容細致入微,全面覆蓋C/C 基本知識。
    講解方法科學  敘述時演示與調試並重,變量與內存一起分析。
    難點千錘百煉  理論結合實踐,編程舉例恰如其分,通俗易懂。

     
    內容簡介

    本書是一部C/C 編程語言書,定位在C/C 語言本身的講解上面。本書包含紙質圖書以及教學源代碼文件。 本書共分為3部分。第1部分為C/C 語言概述(第1章),主要介紹了C和C 語言的起源,市場需求、就業形勢及如何搭建語言開發環境等內容。第2部分為C語言(第2~12章),主要介紹C語言的各種開發知識,包括基礎知識,如常量、變量、表達式、程序結構、數組、函數等,也包括高級知識,如指針、結構、位運算、文件等,本部分的學習是為後面的學習打基礎。第3部分為C 語言(第13~20章),主要介紹C 語言的各種開發知識,包括基礎知識,如面向對像編程、命名空間、容器、迭代器,也包括類的詳細介紹、模板與泛型的詳細介紹; 高級知識,如智能指針詳細介紹、並發與多線程詳細介紹; 擴展知識,如內存高級話題、STL標準模板庫大局觀; C 11新標準,如可調用對像、*引用、函數模板類型推斷、引用折疊、完美轉發、auto推斷、decltype、lambda表達式、初始化列表、類型萃取等。 本書以擇業為導向,涵蓋90%的C/C 語言常用開發知識,通俗易懂,範例眾多,對於希望從事C/C 開發的讀者極具實用價值,本書是一本不可多得的、值得珍藏並能夠陪伴讀者數年甚至數十年的參考書。 本書主要適合以下幾類讀者: (1) C/C 語言初學者或者由其他計算機語言轉到C/C 語言的程序員。 (2) 從事C/C 開發多年的程序員,希望能夠詳細地復習一下基礎的C/C 知識,把整個知識線串一串,形成一個比較完整的學習體繫。 (3) 已經掌握C 98標準,但是需要進一步學習C 11/14/17新標準的程序員。

    作者簡介

    王健偉  男,1976年9月生,網名狂想(KuangXiang),1995年畢業於哈爾濱工程大學計算機及應用專業,擁有20多年軟件開發經驗,參與開發過數十個實際項目,涉及網絡通信、網絡安全、網絡遊戲等領域,具備極其深厚的軟件開發實戰經驗。曾參與創辦深圳知名網絡安全公司安絡科技有限公司,是中國首套網絡安全在線掃描評估繫統項目負責人、全球同服獨立遊戲《冒險之路》制作人。

    目錄
    第1部分C/C 語言概述
    recursive_timed_mutex
    17.12補充知識、線程池淺談、數量談與總結
    17.12.1知識點補充
    17.12.2淺談線程池
    17.12.3線程創建數量談
    17.12.4C 11多線程總結
    第18章內存高級話題
    18.1new、delete的進一步認識
    18.1.1總述與回顧
    18.1.2從new說起
    18.2new內存分配細節探秘與重載類內operator new、delete
    18.2.1new內存分配細節探秘
    18.2.2重載類中的operator new和operator delete操作符

    第1部分C/C 語言概述


    第1章C/C 語言


    1.1C和C 語言的起源、特點、關繫與講解範疇


    1.2C/C 語言的市場需求與就業需求分析


    1.3再談C/C 就業


    1.4搭建語言開發環境


    第2部分C語言


    第2章數據類型、運算符與表達式


    2.1常量、變量、整型、實型和字符型


    2.1.1如何創建基本的能運行的C程序


    2.1.2C語言的數據類型


    2.1.3常量和變量


    2.1.4整型數據


    2.1.5實型數據


    2.1.6字符型數據


    2.1.7字符串變量


    2.1.8變量賦初值


    2.1.9數值型數據之間的混合運算


    2.2算術運算符和表達式


    2.2.1C語言的運算符


    2.2.2算術運算符和算術表達式


    2.2.3運算符優先級問題


    2.2.4強制類型轉換運算符


    2.2.5自增和自減運算符


    2.3賦值運算符和逗號運算符


    2.3.1賦值運算符和賦值表達式


    2.3.2逗號運算符和逗號表達式


    第3章程序的基本結構和語句


    3.1C語言的語句和程序的基本結構


    3.1.1語句的分類


    3.1.2程序的三種基本結構


    3.1.3賦值語句的特殊寫法


    3.2數據的輸出與數據的輸入


    3.2.1數據的輸出


    3.2.2數據的輸入


     


     


    第4章邏輯運算和判斷選擇


    4.1關繫運算符、關繫表達式與邏輯運算符、邏輯表達式


    4.1.1關繫運算符和關繫表達式


    4.1.2邏輯運算符和邏輯表達式


    4.2if語句詳解


    4.2.1if語句的三種形式


    4.2.2if語句的嵌套


    4.3條件運算符和switch語句


    4.3.1條件運算符


    4.3.2switch語句


    第5章循環控制


    5.1循環控制語句簡介與goto、while、do…while語句精解


    5.1.1循環控制語句簡介


    5.1.2goto語句


    5.1.3while語句


    5.1.4do…while語句


    5.2for語句精解


    5.2.1for語句的一般形式


    5.2.2for語句的主要說明


    5.3循環的嵌套、比較與break語句、continue語句


    5.3.1循環的嵌套


    5.3.2幾種循環語句的比較


    5.3.3break語句和continue語句


    第6章數組


    6.1一維數組


    6.1.1一維數組的一般形式


    6.1.2一素的引用


    6.1.3一維數組的初始化


    6.2二維數組


    6.2.1二維數組的一般形式


    6.2.2二素的引用


    6.2.3二維數組的初始化


    6.3字符數組


    6.3.1字符數組的定義


    6.3.2字符數組的初始化


    6.3.3字符串和字符串結束標記


    6.3.4字符數組的輸入/輸出


    6.3.5字符串處理函數


    第7章函數


    7.1函數的基本概念和定義


    7.1.1函數的基本概念


    7.1.2函數的定義和返回值


    7.2函數調用方式和嵌套調用


    7.2.1函數調用的一般形式


    7.2.2函數調用的方式


    7.2.3函數的嵌套調用


    7.3函數遞歸調用精彩演繹


    7.3.1函數遞歸調用的定義


    7.3.2遞歸調用的出口


    7.3.3遞歸的優缺點及是否必須用遞歸


    7.3.4遞歸的實際運用簡介


    7.4數組作為函數參數


    7.4.素作為函數實參


    7.4.2數組名作為函數實參


    7.4.3用多維數組作為函數實參


    7.5局部變量和全局變量


    7.5.1局部變量


    7.5.2全局變量


    7.6變量的存儲和引用與內部和外部函數


    7.6.1變量的存儲類別


    7.6.2局部變量的存儲方式


    7.6.3全局變量跨文件引用


    7.6.4函數的跨文件調用


    7.6.5static關鍵字用法總結


    第8章編譯預處理


    8.1宏定義


    8.1.1不帶參數的宏定義


    8.1.2帶參數的宏定義


    8.2文件包含和條件編譯


    8.2.1文件包含


    8.2.2條件編譯


    第9章指針


    9.1指針的基本概念詳解


    9.1.1前提知識


    9.1.2地址的概念


    9.1.3直接訪問和間接訪問


    9.2變量的指針和指向變量的指針變量


    9.2.1指針變量的定義


    9.2.2指針變量的引用


    9.2.3指針變量作為函數參數


    9.3數組的指針和指向數組的指針變量


    9.3.1指素的指針變量的定義和賦值


    9.3.2通過指針引素


    9.3.3數組名作為函數參數


    9.3.4回顧二維數組和多維數組的概念


    9.3.5指向多維數組的指針和指針變量探究


    9.3.6指針數組和數組指針


    9.3.7多維數組的指針作為函數參數


    9.4字符串的指針和指向字符串的指針變量


    9.4.1字符串表示形式


    9.4.2字符串指針作為函數參數


    9.4.3字符指針變量與字符數組


    9.5函數指針和返回指針值的函數


    9.5.1用函數指針變量調用函數


    9.5.2把指向函數的指針變量作為函數參數


    9.5.3返回指針值的函數


    9.6指針數組、指針的指針與main函數參數


    9.6.1指針數組概念回顧


    9.6.2指向指針的指針


    9.6.3指針數組作為main函數參數


    9.7本章小結


    第10章結構體與共用體


    10.1結構體變量定義、引用與初始化


    10.1.1結構體簡介


    10.1.2定義結構體類型變量的方法


    10.1.3結構體類型變量的引用


    10.1.4結構體變量的初始化


    10.2結構體數組與結構體指針


    10.2.1結構體數組


    10.2.2結構體指針


    10.2.3用指向結構體的指針作為函數參數


    10.3共用體、枚舉類型與typedef


    10.3.1共用體


    10.3.2枚舉類型


    10.3.3用typedef定義類型


    第11章位運算


    11.1位的概念和位運算符簡介


    11.1.1位的概念


    11.1.2位運算符簡介


    11.2位運算的具體應用


    第12章文件


    12.1文件簡介及文本、二進制文件區別


    12.1.1文件簡介


    12.1.2文本文件和二進制文件區別詳細解釋


    12.2文件的打開、關閉、讀寫與實戰操練


    12.2.1文件的打開


    12.2.2文件的關閉


    12.2.3文件的讀寫


    12.2.4文件讀寫實戰操練


    12.3將結構體寫入二進制文件再讀出


    12.3.1將結構體寫入二進制文件


    12.3.2從二進制文件中讀出結構體數據


    12.3.3文件使用方式中"rb"和"r"、"wb"和"w"的區別


    第3部分C 語言


    第13章C 基本語言


    13.1語言特性、工程構成與可移植性


    13.1.1語言特性: 過程式、對像式程序設計


    13.1.2C 程序和項目文件構成談


    13.1.3編譯型語言概念與可移植性問題


    13.2命名空間簡介與基本輸入/輸出精解


    13.2.1命名空間簡介


    13.2.2基本輸入/輸出


    13.3auto、頭文件防衛、引用與常量


    13.3.1局部變量和初始化


    13.3.2auto關鍵字簡介


    13.3.3頭文件防衛式聲明


    13.3.4引用


    13.3.5常量


    13.4範圍for、new內存動態分配與nullptr


    13.4.1範圍for語句


    13.4.2動態內存分配問題


    13.4.3nullptr


    13.5結構、權限修飾符與類簡介


    13.5.1結構回顧


    13.5.2public和private權限修飾符


    13.5.3類簡介


    13.5.4類的組織


    13.6函數新特性、inline內聯函數與const詳解


    13.6.1函數回顧與後置返回類型


    13.6.2inline內聯函數


    13.6.3函數特殊寫法總結


    13.6.4const char *、char const *與char * const 三者的區別


    13.6.5函數形參中帶const


    13.7string類型


    13.7.1總述


    13.7.2string類型簡介


    13.7.3定義和初始化string對像


    13.7.4string對像上的常用操作


    13.8vector類型


    13.8.1vector類型簡介


    13.8.2定義和初始化vector對像


    13.8.3vector對像上的操作


    13.9迭代器精彩演繹、失效分析及彌補、實戰


    13.9.1迭代器簡介


    13.9.2容器的迭代器類型


    13.9.3迭代器begin/end、反向迭代器rbegin/rend操作


    13.9.4迭代器運算符


    13.9.5const_iterator迭代器


    13.9.6迭代器失效


    13.9.7範例演示


    13.10類型轉換: static_cast、reinterpret_cast等


    13.10.1隱式類型轉換


    13.10.2顯式類型轉換(強制類型轉換)


    13.10.3總結


    第14章類


    14.1成員函數、對像復制與私有成員


    14.1.1總述


    14.1.2類基礎


    14.1.3成員函數


    14.1.4對像的復制


    14.1.5私有成員


    14.2構造函數詳解、explicit與初始化列表


    14.2.1稱呼上的統一


    14.2.2構造函數


    14.2.3多個構造函數


    14.2.4函數默認參數


    14.2.5隱式轉換和explicit


    14.2.6構造函數初始化列表


    14.3inline、const、mutable、this與static


    14.3.1在類定義中實現成員函數inline


    14.3.2成員函數末尾的const


    14.3.3mutable


    14.3.4返回自身對像的引用——this


    14.3.5static成員


    14.4類內初始化、默認構造函數、“=default;”和“=delete;”


    14.4.1類相關非成員函數


    14.4.2類內初始值


    14.4.3const成員變量的初始化


    14.4.4默認構造函數


    14.4.5“=default;”和“=delete;”


    14.5拷貝構造函數


    14.6重載運算符、拷貝賦值運算符與析構函數


    14.6.1重載運算符


    14.6.2拷貝賦值運算符(賦值運算符)


    14.6.3析構函數(釋放函數)


    14.6.4幾個話題


    14.7子類、調用順序、訪問等級與函數遮蔽


    14.7.1子類概念


    14.7.2子類對像定義時調用構造函數的順序


    14.7.3訪問等級(public、protected與private)


    14.7.4函數遮蔽


    14.8父類指針、虛/純虛函數、多態性與析構函數


    14.8.1父類指針與子類指針


    14.8.2虛函數


    14.8.3多態性


    14.8.4純虛函數與抽像類


    14.8.5父類的析構函數一般寫成虛函數


    14函成員函數


    14.9函數


    14.9類


    14.9成員函數


    14.10RTTI、dynamic_cast、typeid、typeinfo與虛函數表


    14.10.1RTTI是什麼


    14.10.2dynamic_cast運算符


    14.10.3typeid運算符


    14.10.4type_info類


    14.10.5RTTI與虛函數表


    14.11基類與派生類關繫的詳細再探討


    14.11.1派生類對像模型簡介


    14.11.2派生類構造函數


    14.11.3既當父類又當子類


    14.11.4不想當基類的類


    14.11.5靜態類型與動態類型


    14.11.6派生類向基類的隱式類型轉換


    14.11.7父類、子類之間的復制與賦值


    14.12左值、右值、左值引用、右值引用與move


    14.12.1左值和右值


    14.12.2引用分類


    14.12.3左值引用


    14.12.4右值引用


    14.12.5std::move函數


    14.12.6左值、右值總結說明


    14.13臨時對像深入探討、解析與提高性能手段


    14.13.1臨時對像的概念


    14.13.2產生臨時對像的情況和解決方案


    14.14對像移動、移動構造函數與移動賦值運算符


    14.14.1對像移動的概念


    14.14.2移動構造函數和移動賦值運算符概念


    14.14.3移動構造函數演示


    14.14.4移動賦值運算符演示


    14.14.5合成的移動操作


    14.14.6總結


    14.15繼承的構造函數、多重繼承、類型轉換與虛繼承


    14.15.1繼承的構造函數


    14.15.2多重繼承


    14.15.3類型轉換


    14.15.4虛基類與虛繼承(虛派生)


    14.16類型轉換構造函數、運算符與類成員指針


    14.16.1類型轉換構造函數


    14.16.2類型轉換運算符(類型轉換函數)


    14.16.3類型轉換的二義性問題


    14.16.4類成員函數指針


    14.16.5類成員變量指針


    第15章模板與泛型


    15.1模板概念與函數模板的定義、調用


    15.1.1模板概念


    15.1.2函數模板的定義


    15.1.3函數模板的調用


    15.1.4非類型模板參數


    15.2類模板概念與類模板的定義、使用


    15.2.1類模板概念


    15.2.2類模板的定義


    15.2.3類模板的成員函數


    15.2.4類模板名字的使用


    15.2.5非類型模板參數的使用


    15.3使用typename的場合、函數模板、默認模板參數與趣味寫法分析


    15.3.1typename的使用場合


    15.3.2函數指針作為其他函數的參數


    15.3.3函數模板趣味用法舉例


    15.3.4默認模板參數


    15.4成員函數模板,模板顯式實例化與聲明


    15.4.1普通類的成員函數模板


    15.4.2類模板的成員函數模板


    15.4.3模板顯式實例化與聲明


    15.5using定義模板別名與顯式指定模板參數


    15.5.1using定義模板別名


    15.5.2顯式指定模板參數


    15.6模板全特化與偏特化(局部特化)


    15.6.1類模板特化


    15.6.2函數模板特化


    15.6.3模板特化版本放置位置建議


    15.7可變參模板與模板模板參數


    15.7.1可變參函數模板


    15.7.2可變參類模板


    15.7.3模板模板參數


    第16章智能指針


    16.1直接內存管理(new/delete)、創建新工程與觀察內存洩漏


    16.1.1直接內存管理(new/delete)


    16.1.2創建新工程與觀察內存洩漏


    16.2new/delete探秘、智能指針總述與shared_ptr基礎


    16.2.1new/delete探秘


    16.2.2智能指針總述


    16.2.3shared_ptr基礎


    16.3shared_ptr常用操作、計數與自定義刪除器等


    16.3.1shared_ptr引用計數的增加和減少


    16.3.2shared_ptr指針常用操作


    16.4weak_ptr簡介、weak_ptr常用操作與尺寸問題


    16.4.1weak_ptr簡介


    16.4.2weak_ptr常用操作


    16.4.3尺寸問題


    16.5shared_ptr使用場景、陷阱、性能分析與使用建議


    16.5.1std::shared_ptr使用場景


    16.5.2std::shared_ptr使用陷阱分析


    16.5.3性能說明


    16.5.4補充說明和使用建議


    16.6unique_ptr簡介與常用操作


    16.6.1unique_ptr簡介


    16.6.2unique_ptr常用操作


    16.7返回unique_ptr、刪除器與尺寸問題


    16.7.1返回unique_ptr


    16.7.2刪除器


    16.7.3尺寸問題


    16.8智能指針總結


    第17章並發與多線程


    17.1基本概念和實現


    17.1.1並發、進程、線程的基本概念和綜述


    17.1.2並發的實現方法


    17.1.3C 11新標準線程庫


    17.2線程啟動、結束與創建線程寫法


    17.2.1範例演示線程運行的開始和結束


    17.2.2其他創建線程的寫法


    17.3線程傳參詳解、detach坑與成員函數作為線程函數


    17.3.1傳遞臨時對像作為線程參數


    17.3.2臨時對像作為線程參數繼續講


    17.3.3傳遞類對像與智能指針作為線程參數


    17.3.4用成員函數作為線程入口函數


    17.4創建多個線程、數據共享問題分析與案例代碼


    17.4.1創建和等待多個線程


    17.4.2數據共享問題分析


    17.4.3共享數據的保護實戰範例


    17.5互斥量的概念、用法、死鎖演示與解決詳解


    17.5.1互斥量的基本概念


    17.5.2互斥量的用法


    17.5.3死鎖


    17.6unique_lock詳解


    17.6.1unique_lock取代lock_guard


    17.6.2unique_lock的第二個參數


    17.6.3unique_lock的成員函數


    17.6.4unique_lock所有權的傳遞


    17.7單例設計模式共享數據分析、解決與call_once


    17.7.1設計模式簡單談


    17.7.2單例設計模式


    17.7.3單例設計模式共享數據問題分析、解決


    17.7.4std::call_once


    17.8condition_variable、wait、notify_one與notify_all


    17.8.1條件變量std::condition_variable、wait與notify_one


    17.8.2上述代碼深入思考


    17.8.3notify_all


    17.9async、future、packaged_task與promise


    17.9.1std::async和std::future創建後臺任務並返回值


    17.9.2std::packaged_task


    17.9.3std::promise


    17.9.4小結


    17.10future其他成員函數、shared_future與atomic


    17.10.1std::future的其他成員函數


    17.10.2續談std::async的不確定性問題


    17.10.3std::shared_future


    17.10.4原子操作std::atomic


    17.11Windows臨界區與其他各種mutex互斥量


    17.11.1Windows臨界區


    17.11.2多次進入臨界區試驗


    17.11.3自動析構技術


    17.11.4recursive_mutex遞歸的獨占互斥量


    17.11.5帶超時的互斥量std::timed_mutex和std::
    recursive_timed_mutex


    17.12補充知識、線程池淺談、數量談與總結


    17.12.1知識點補充


    17.12.2淺談線程池


    17.12.3線程創建數量談


    17.12.4C 11多線程總結


    第18章內存高級話題


    18.1new、delete的進一步認識


    18.1.1總述與回顧


    18.1.2從new說起


    18.2new內存分配細節探秘與重載類內operator new、delete


    18.2.1new內存分配細節探秘


    18.2.2重載類中的operator new和operator delete操作符


    18.2.3重載類中的operator new[]和operator delete[]操作符


    18.3內存池概念、代碼實現和詳細分析


    18.3.1內存池的概念和實現原理簡介


    18.3.2針對一個類的內存池實現演示代碼


    18.3.3內存池代碼後續說明


    18.4嵌入式指針概念及範例、內存池改進版


    18.4.1嵌入式指針


    18.4.2內存池代碼的改進


    18.5重載全局new/delete、定位new及重載


    18.5.1重載全局operator new和operator delete操作符


    18.5.2定位new(placement new)


    18.5.3多種版本的operator new重載


    第19章STL標準模板庫大局觀


    19.1STL總述、發展史、組成與數據結構談


    19.1.1幾個概念與推薦書籍


    19.1.2算法和數據結構談


    19.1.3STL發展史和各個版本


    19.1.4標準庫的使用說明


    19.1.5STL的組成部分


    19.2容器分類與array、vector容器精解


    19.2.1容器的分類


    19.2.2容器的說明和簡單應用


    19.3容器的說明和簡單應用例續


    19.3.1deque和stack


    19.3.2queue


    19.3.3list


    19.3.4其他


    19.4分配器簡介、使用與工作原理說


    19.4.1分配器簡介


    19.4.2分配器的使用


    19.4.3其他的分配器與原理說


    19.4.4自定義分配器


    19.5迭代器的概念和分類


    19.5.1迭代器基本概念


    19.5.2迭代器的分類


    19.6算法簡介、內部處理與使用範例


    19.6.1算法簡介


    19.6.2算法內部一些處理


    19.6.3一些典型算法使用範例


    19.7函數對像回顧、繫統函數對像與範例


    19.7.1函數對像/仿函數回顧


    19.7.2標準庫中定義的函數對像


    19.7.3標準庫中定義的函數對像範例


    19.8適配器概念、分類、範例與總結


    19.8.1適配器基本概念


    19.8.2容器適配器


    19.8.3算法適配器


    19.8.4迭代器適配器


    19.8.5總結


    第20章高級話題與新標準


    20.1函數調用運算符與function類模板


    20.1.1學習C 的體會


    20.1.2函數調用運算符


    20.1.3不同調用對像的相同調用形式


    20.1.4標準庫function類型簡介


    20.1.5總結


    20.2引用


    20.2.1類型區別基本概念


    20.2.2universal reference基本認識


    20.2.3引用資格的剝奪與辨認


    20.3理解函數模板類型推斷與查看類型推斷結果


    20.3.1如何查看類型推斷結果


    20.3.2理解函數模板類型推斷


    20.4引用折疊、轉發、完美轉發與forward


    20.4.1引用折疊規則


    20.4.2轉發與完美轉發


    20.4.3std::forward


    20.4.4std::move和std::forward的區別


    20.4.5再談引用


    20.5理解auto類型推斷與auto應用場合


    20.5.1auto類型常規推斷


    20.5.2auto類型針對數組和函數的推斷


    20.5.3auto類型std::initializer_list的特殊推斷


    20.5.4auto不適用場合舉例


    20.5.5auto適用場合舉例


    20.6詳解decltype含義與decltype主要用途


    20.6.1decltype含義和舉例


    20.6.2decltype主要用途


    20.6.3總結


    20.7可調用對像、std::function與std::bind


    20.7.1可調用對像


    20.7.2std::function可調用對像包裝器


    20.7.3std::bind綁定器


    20.7.4總結


    20.8lambda表達式與for_each、find_if簡介


    20.8.1用法簡介


    20.8.2捕獲列表


    20.8.3lambda表達式延遲調用易出錯細節分析


    20.8.4lambda表達式中的mutable


    20.8.5lambda表達式的類型和存儲


    20.8.6lambda表達式再演示和優點總結


    20.9lambda表達式捕獲模式的陷阱分析和展示


    20.9.1捕獲列表中的&


    20.9.2形參列表可以使用auto


    20.9.3成員變量的捕獲問題


    20.9.4廣義lambda捕獲


    20.9.5靜態局部變量


    20.10可變參數函數、initializer_list與省略號形參


    20.10.1可變參數函數


    20.10.2initializer_list(初始化列表)


    20.10.3省略號形參


    20.11萃取技術概念與範例等


    20.11.1類型萃取簡介


    20.11.2類型萃取範例


    20.11.3迭代器萃取簡介


    20.11.4總結


    後記IT職業發展的未來之路

    前言
    恭喜你,在眾多的計算機編程語言中,選擇了C/C 語言,一門業界公認的功能強大、性能極優但學習難度大的計算機編程語言。選擇這門編程語言學習的讀者通常是勇氣和智慧兼具的人; 能夠把這門語言熟練掌握並靈活運用的人也通常是那些能夠在編程道路上走得更扎實、更久遠,基礎和綜合開發實力遠超同齡者的人。
    20多年前,從事IT行業的人還不多,當時優秀的程序員也比較少,學習編程知識的途徑也非常匱乏。當今,浩如煙海的知識通過網絡變得隨手可得,人們不得不面對一個新問題: 學什麼以及跟誰學。
    在C/C 語言的學習中,經常有許多人手捧著一些國外大師級的人所寫的權威書艱難地閱讀甚至反復地閱讀。
    在筆者看來,這種書並不適合初學者。一本好的編程書應該把常用、有用的知識以通俗的語言和講解傳授給讀者,為讀者節約大量的閱讀時間,並使讀者達到事半功倍的學習效果。
    筆者認為本書就是能讓讀者用少的時間掌握多且有用知識的書,筆者利用自己20多年一線開發的實踐經驗,把自己認為有用、重要的知識,以通俗的語言講授給讀者,讓讀者在短的時間內達到好的學習效果。

    恭喜你,在眾多的計算機編程語言中,選擇了C/C 語言,一門業界公認的功能強大、性能極優但學習難度大的計算機編程語言。選擇這門編程語言學習的讀者通常是勇氣和智慧兼具的人; 能夠把這門語言熟練掌握並靈活運用的人也通常是那些能夠在編程道路上走得更扎實、更久遠,基礎和綜合開發實力遠超同齡者的人。


    20多年前,從事IT行業的人還不多,當時優秀的程序員也比較少,學習編程知識的途徑也非常匱乏。當今,浩如煙海的知識通過網絡變得隨手可得,人們不得不面對一個新問題: 學什麼以及跟誰學。


    在C/C 語言的學習中,經常有許多人手捧著一些國外大師級的人所寫的權威書艱難地閱讀甚至反復地閱讀。


    在筆者看來,這種書並不適合初學者。一本好的編程書應該把常用、有用的知識以通俗的語言和講解傳授給讀者,為讀者節約大量的閱讀時間,並使讀者達到事半功倍的學習效果。


    筆者認為本書就是能讓讀者用少的時間掌握多且有用知識的書,筆者利用自己20多年一線開發的實踐經驗,把自己認為有用、重要的知識,以通俗的語言講授給讀者,讓讀者在短的時間內達到好的學習效果。


    面向的讀者


    筆者在24年一線C 開發經驗的基礎之上,編寫這本《C 新經典》,前後累計耗費將近10個月時間,夜以繼日地工作,終於讓它出現在你的手裡。這是一本越看越精彩的C 書。


    這是一本專門面向C/C 編程語言開發者的專業書籍,針對C/C 語言,以擇業為導向,主要適合以下幾類讀者:


    (1) C/C 語言初學者或者由其他計算機語言轉到C/C 語言的程序員。


    (2) 從事C/C 開發多年的程序員,希望詳細地復習基礎的C/C 知識,把整個知識線串一串,形成一個比較完整的學習體繫。


    (3) 已經掌握C 98標準,但是需要進一步學習C 11/14/17新標準的程序員。總之,不管讀者是否有很豐富的C 編程經驗,這本書都值得購買,當把這本書拿到手的時候,你就會知道,筆者沒有言過其實。隨著年齡的增加,人的記憶力會逐漸下降,任何人都不可能將書中的每個知識點全部記在腦海裡,所以,沒有比將一本適合自己的書放在身邊,隨時查閱更明智的選擇了!


    本書特色


    (1) 本書分三部分: 第1部分是C/C 語言概述; 第2部分是C語言; 第3部分是C 語言。


    第2部分適合C語言初學者或是想往C 方向轉的程序員,這部分內容也是第3部分內容的基礎,對於沒有基礎的讀者,千萬不可跳過這部分內容,筆者這裡所講解的每一個知識點在第3部分學習C 時都有用。


    (2) 本書覆蓋面廣,講解細致入微。


    (3) 講解的手段非常全面: 演示、調試、加斷點、看變量、看內存都用上了。


    (4) 坑點會反復強調,理論與實戰結合,舉例恰到好處,通俗易懂。


    C 開發的經典書不少,並且絕大部分經典書都出自外國人之手。許多讀者在閱讀這些書時,都會遇到讀一遍完全沒有讀懂,隻有反復閱讀多遍,纔能理解書中之意的情形,尤其是C 11新標準推出以來,增加太多新的晦澀的概念、術語和知識點,進一步加重了學習者的負擔,甚至讓很多學習者望而卻步。


     


    很多名氣大的作者寫的書讓人非常難以讀懂,是因為他們是在用專家思維寫書,結果必然是難以讓普通大眾讀懂。生活中這樣的人有很多,例如他自己明白一些知識,但隻要是講給別人聽,一定會把別人講糊塗。所以,水平高、開發實力強並不代表能寫出好書。當然,反過來說,如果水平很差,當然也不可能寫出好書。


    在筆者看來,一本能夠稱得上經典的好書應該是通俗易懂的,對於讀者來講,認真讀一遍就應該能夠讀懂,而讀多遍的目的應該是深入理解和加深印像。《C 新經典》正是一本認真讀一遍就能讀懂的書,書中筆者利用數十年一線開發所積累的豐富經驗,配以大量精準到位的演示範例,把難以理解的內容通俗易懂地講述明白,讓讀者收獲滿滿。可以毫不誇張地說,這本書完全能夠讓讀者感覺相見恨晚。讀懂本書並認真實踐書中的範例,至少相當於為讀者增加了5年以上C 開發的功力,也就是說,至少為讀者5年的學習時間。


    筆者具有講課天賦,筆者有信心讓一個從未學過C/C 程序開發的讀者通過本書的學習成為C/C 開發高手。所以,對於轉行到C/C 語言開發程序的讀者,完全不用擔心看不懂本書。但是,對於學習知識這件事,筆者堅持認為: “扶上馬,送一程”,讓讀者具備扎實的基礎以及自我學習的能力是非常重要的。因此,要走得遠,飛得高,終還是要靠自己經年累月的不斷努力和磨煉。


    翻看本書的目錄,讀者不難發現本書的優秀和全面。除了C 基本理論知識,書中還詳盡介紹了高級模板話題、智能指針、並發與多線程、內存高級話題、STL標準庫,以及C 11新標準中引用、類型推斷、引用折疊、完美轉發、萃取技術等,這些知識,是真正成長為C 開發大師必知必會的知識。其實,書中很多內容的講解已經超越了C 基礎語言本身,邁向了更高的層次,讓讀者不但扎實地掌握基礎,更有認知的大幅度提升。同時,書中的每個範例,都經過了筆者的深思熟慮,都會演示不同的知識點,所以每一個範例都重要,都不可錯過。


    在成書的過程中,筆者參考了大量C 經典著作並盡努力通過網絡尋找一切對本書的寫作有用的資料,盡量不遺漏任何重要的知識,筆者的心願是通過自己的表達把這些知識更通俗地傳授給讀者,讓讀者隻花費1/5甚至1/10的精力就能獲得相同的知識,讓讀者能夠憑借本書盡早地找到工作,獲得一項謀生的本領。對於書中內容,筆者進行了大量資料的參考和整合,付出了數月的時間和極大的心血。在這裡,筆者發自內心地感謝諸多C/C 前輩在這個行業中多年的耕耘及對知識的積累和傳播的貢獻。


    C/C 語言博大精深,本書並不是C/C 語言語法大全,事實上,沒有任何一本書可以事無巨細、面面俱到地把每個知識點都講解到。同時,筆者是一個實用主義者,筆者認為,生命有限而學海無涯,相信對於絕大多數人,學習C/C 開發知識,目的是實實在在地賺錢養家,而不是為了搞學術研究。所以,雖然本書中知識覆蓋面廣,但不是什麼內容都往書中放。在C/C 龐大的知識體繫中,相當一部分知識是很少用到的,花費大量篇幅去詳細闡述無疑是事倍功半,這個時候,筆者豐富的一線開發經驗就起到了極大的作用——憑借多年的實戰經驗,幫助讀者甄別重要的知識,盡量避免讓讀者浪費大量時間去學習那些很不常用的知識,保證讀者在短的時間內大幅度地提升自身的實力。


    本書已經把C/C 語言開發中常用功能的90%都介紹了,能夠滿足絕大多數讀者日常工作所需,如果偶爾有遺漏的地方,讀者完全可以通過自學來彌補。筆者深信,把這麼多年工作中的所思、所想、所積累的有用知識點彙集在一本書中,該書的質量將超越絕大多數市面上的C/C 類書。


    關於習題集


    本書範例眾多,因此筆者認為並不需要專門的習題集,或者可以說,這些範例本身就是絕好的習題。雖然筆者認為做大量的習題對實際工作的幫助並不大,但如果讀者特別在意學後做題以鞏固所學,比如學習了“構造函數”的概念之後,筆者建議,通過搜索引擎搜索“C 構造函數 練習”這種關鍵詞,能夠搜索到大量相關的習題,通過完成這些習題,就可以驗證自己的學習成果。


    同時,筆者要指出,這些習題的完成,一般來講,隻代表在C/C 語言使用層面達到了一定的熟練度,具體在實際工作崗位上如何應用這些知識解決問題還需要在工作中去感受和體會。解決實際問題這件事,讀者不要把它想得很難,其實它可能非常簡單,人們往往都會對自己不熟悉的事物產生一些本能的畏懼,直接面對它,這種畏懼感自然消失。


    如果真要做題,筆者建議讀者學會整本書後一起做,從而綜合地驗證自己的學習成果。


    閱讀進度


    不排除有基礎和學習速度特別快的讀者可以很快把本書的內容閱讀完畢並掌握得很好,但通常來講,筆者建議采取如下的閱讀進度:


    整本書大概有120節(比如1.1標題算一節),筆者建議讀者每周平均學習2節。整本書後半部分內容比前半部分內容學習難度更大、篇幅更多,所以後半部分每節的學習時間要多,但是平均下來,筆者認為每周學習2節還是能夠做到的,這意味著整本書大概需要花費400多天的學習時間,如果加快學習進度,讀者可以力爭在1年之內將本書學完。


    在學習過程中,強烈推薦讀者跟著筆者一起實踐書中的每個範例,驗證範例的正確性,實踐是深化知識的一個極其重要的過程,這樣學習效果將比隻用耳朵聽和用眼睛看強出3~5倍,千萬不要偷懶,既然決定走程序開發這條路,現在的勤奮就是為了讓自己以後少一些被動。若干年後,筆者不希望看到當年稱自己一聲老師的讀者頂著生活的壓力,還在費盡心力地調試Bug。筆者自己的成長經驗是: 盡心編程10年後,程序中出現Bug的概率就非常小了,當我達到15年編程經驗,往20年跨越的時候,偶爾的小Bug基本都隨時發現隨時消滅,偶爾出現的問題可以立即解決。讀者千萬不要以為程序員寫出Bug是家常便飯,更不要以改Bug為榮。


    本書內容全是重點,建議讀者將整本書仔細學完,一節都不要錯過。通過這樣仔細的學習,本書包含哪些內容,在讀者心中就會有一個比較深刻的印像,此時,這本書就可以當作讀者的貼身伙伴和工具書了——忘記了哪個知識點,或者想使用哪些編程技巧,隨時翻開書查閱。


    知識點千萬不要死記硬背,隨著讀者學習知識的增多,會面臨著學過的知識很快忘記的情形,這很正常,所以在大多數情況下,我們的頭腦裡往往隻記錄一個知識點的大概思路和解決方法的索引(位置),需要解決類似問題的時候能找到這個索引,翻閱資料來解決就非常好。


    請記住,一個高級程序員甚至架構師的能力體現不在於記住多少高級復雜的代碼(在筆者看來,能記住的復雜代碼越多,往往意味著當下真正所掌握到的知識還太少),而在於把控項目的綜合能力、解決問題時能夠把所有細節、意外全部想到的縝密邏輯思維,而且實際動起手時很少犯錯。這些,纔是一個程序員的大成智慧,纔是需要數年乃至數十年纔能練就的。


    另外,對於一個高級程序員來講,一個知識點不會時,可以繞道而行或者研究明白這個知識點再使用,但絕不要濫用、瞎用導致產生Bug或使自己掉坑裡去而影響整個團隊甚至公司的運作。


    運行環境


    本書的範例全部在Windows下的Visual Studio 2019集成開發環境中調試通過。之所以選擇這個平臺,是因為它對開發者相當友好,開發和調試程序特別方便,尤其對初學者,極大降低了學習難度。


    書中也詳細闡述了在Windows下安裝Visual Studio 2019的過程。因為書中講解的內容涉及C 11及更新的C 標準語法,所以如果是在Windows操作繫統下進行程序開發,建議讀者使用Visual Studio集成開發環境並保證版本不低於Visual Studio 2017。


    對於在Linux下從事C/C 開發的讀者,隻要C/C 編譯器支持C 11及更新的C 標準語法,就完全沒有問題,因為本書針對的是C/C 語言,所以本書中99.9%的範例都可以跨操作繫統平臺運行。


    資料獲取


    本書有完整的配套學習資料(源碼),讀者可以免費獲取。獲取方法如下。


    (1) 查找並關注“程序員速成”微信公眾號。


    (2) 在微信公眾號中,輸入“新經典”三個字,就可以獲取配套學習資料下載鏈接。


    讀者評論


    筆者在出版本書之前,有數月的時間,通過網絡推出課程以教授C/C 開發知識,課程推出之後,收到了太多好評。這裡摘錄一部分評論:


     現在別人追劇,我就追王老師的課,確實高校一些老師講的C 跟王老師講的根本不在一個水平線。


     學歷看學校,本領學王老師。


     聽王老師的課感覺自己智商變高了,原來自己看書看不懂的內容聽王老師的課後發現自己能懂了。


     從4月底無意中發現這門課程以來,歷時半月,加上假期,終於把所有課程學完了,真正是欲罷不能,講得實在是太棒了。條理清晰,例證豐富,重要是把各種使用中將遇到的陷阱都講得很到位。而且,本課程涵蓋了C 繫列版本的主要知識點,幫我完整梳理了C 的知識,真是感激不盡。後一章的總結也非常精準到位,每一句都是金玉良言,飽含工作經驗和人生體會。再次表示感謝,期待王老師的實戰課程。謹祝王老師身體健康,工作順利。


     翔實、實用的舉例,不多話,不廢話。


     非常好,老師是經驗豐富的大牛,講課清楚並且邏輯強,王老師的課可以說是我聽過的好的C 課程了。


     目前看過的所有C 課中,含金量的。相見恨晚,感謝老師。


     C 工作14年的老菜鳥來學藝,希望能得到質的飛躍!技術這東西不服牛人不行,有些地方自己自學不隻是多走彎路的事兒,是根本入不了道。


     感謝王老師,我之前買過其他C 課程,但是深度和您的課程無法相比。相信您的課程能改變我的命運,非常感謝王老師。我要好好努力。


     老師我現在看了你的部分課程,覺得你講得很細很好,你會出一本書把你講的內容寫上去嗎?很期待啊,看老師的課程的進展快多了,很感謝老師出那麼好的課程,幫我省去不少時間。


     老師的C 講得實在太好了,看了纔體會到這是下了大功夫做的教程,比我之前看的教程高了一個檔次。


     我好喜歡老師講的課啊,通俗易懂有意思,比××教育強太多了。


     老師,真的很喜歡您的課程,能再多出幾期課程嗎?我還會買的。


     謝謝老師,說真的,老師講得真好,19歲開始學編程,先專升本再考研,2018年畢業。老師,是C 講得很好的老師,盡管我學過十幾種編程語言,但是跟著老師學,很輕松。老師講得真棒。現在從事AI、圖像處理的工作,公司用Python做的demo做好了,就是速度跟不上,看老師講的C ,有種想哭的感覺,為什麼不是在幾年前看到這個課程,現在早就穩穩地掌握C 了,有點功利。感謝老師,分享自己的工作經驗。


     老師,你什麼時候可以出一門有關C或C 的數據結構和算法的課程呢? 很期待。自從聽你的課! 就已經是你的鐵杆粉絲了!


     真的講得很仔細,對於不喜歡看書的人來說,王老師的課是福利,兩年前出這個課程,我看我會飄的。


     老師,在我上大學的時候怎麼沒出這個課程呢?


     通俗易懂,幽默風趣,講課方式獨具一格。


     很贊,很多平時沒有注意到的細節都講到了。


     跟著老師的講課做完的筆記,就是活字典啊,哪裡忘了搜哪裡。


     不愧是老“司機”,用通俗易懂的方式講解每一個知識點,簡直就是講活了書本啊。


     老師講得非常好,都是干貨,沒有廢話,邏輯清楚,而且一聽就是肚子裡有東西。邊講,邊寫代碼,更有助於學生理解和吸收知識。


     好的老師,萬事俱備,剩下的就剩你自己學不學了。


     老師的課是我見過的C 講得很好的,我非常開心也非常榮幸能買到老師的課程,等我學完老師所有課程後,如果老師不反對,我想拜老師為師,交學費給您,以後工作中有不懂的問題,多向您請教。


    語言學習體會


    學好一門計算機語言,有三個關鍵的要素:


    (1) 有一本能夠領著大家入門的好書,好書應該是出自好老師之手,而一個具有豐富的實戰經驗和講課天賦的好老師,一定能讓大家不踩坑,不浪費時間,至少眼下不必去掌握各種額外知識,節約大量學習時間,大幅度地加快學習速度。


    (2) 不停地努力是根本,也就是不斷地學習,不斷地實踐,多看優秀的人寫的代碼,並且要自己多動手參與實際項目寫大量代碼。連續寫10年代碼,你的代碼中就會很少出現Bug,連續開發項目15年,你大概就能掌握用的效率解決各種開發問題,連續開發20年基本就達到大神的級別了。大家可能覺得這個時間太長了,筆者其實蠻希望大家打破這個魔咒,用更短的時間進階到大神級,有這個目標的同學就更要跟著筆者一起努力了。


    (3) 舉一反三,任何書都不可能面面俱到地講解每一個細節,否則會浪費大家很多時間,因為絕大部分知識在實際工作中是用不到的,所以大家一定要積極自學,善用搜索引擎,就可以很輕松地掌握很多新知識。


    致謝


    二十多年前,筆者寫過一本《Crystal Reports水晶報表設計與開發實務》,這本書的寫作實在是太辛苦,每天大概要寫到凌晨3點纔能休息,熬了3個多月。書完成之後,整個人瘦了好幾圈。


    雖然書有一定的銷量,但是跟付出感覺不成比例。所以,從那時候開始,筆者就暗下決心,從此以後再也不寫書了。


    “人算不如天算”,2018年下半年,筆者通過網絡,逐步發布一些C/C 類網絡課程,讓人意外的是,這些課程獲得了學員極好的口碑,大有超越市面絕大多數C/C 類課程之勢,在這個時候,清華大學出版社電子信息教材事業部主任、首席策劃盛東亮先生找到筆者,希望筆者能夠寫一本優質的C/C 類圖書。


    因為多年前出書的心理陰影,筆者當時本能地拒絕了,但在筆者的心裡卻從此埋下了寫書的種子。


    幾個月之後,筆者終於想通了寫C/C 類圖書這件事,感覺有兩點好處:


    (1) 幫助更多的讀者邁入C/C 之門,也是為社會盡一點自己的微薄之力,做一個對社會有用的人。


    (2) 擴大自身的知名度,增加收入,畢竟筆者也需要養家,通過自己的勞動賺取收入,這是光榮的。


    當筆者把出書的想法說給盛東亮先生聽的時候,他非常高興並與筆者做了深入的溝通,我們二人年紀相仿,聊得很投機,在寫書這件事情上觀點也非常一致——希望這是一本高質量的、經典的C 圖書,是一本可以擺在書架上10年甚至20年的書,如果僅讓讀者選那麼2~3本好的C 圖書時,希望本書是其中之一。


    在本書寫作、出版的交流過程中,盛東亮先生給予了筆者相當多的支持與鼓勵,甚至可以說,如果不是盛東亮先生當初的接洽和後續順暢愉快的交流,如果不是許多實際的工作都能在短的時間敲定並逐一落實,這本書也許根本不會出現在讀者面前。所以,這份感謝,筆者要送給你——盛東亮先生。


    筆者另外一個要感謝的人是清華大學出版社的資深編輯鐘志芳老師,在本書寫作、出版的過程中,因筆者對出版社的體例格式比較陌生,對寫書過程中許多書面用語把握得不夠精準,在書稿中出現了不少的格式問題和用詞問題,鐘老師通過在文檔中加入極細致的批注給予了相當專業的指導,即便苛刻的格式要求讓筆者心生恐懼並多次抱怨,鐘老師都能夠寬容理解。所以,這份感謝,筆者要送給你——鐘志芳老師。



    本書後記“IT職業發展的未來之路”,有筆者已經過半的人生——走過了24年開發之路後留下的一些人生感悟,強烈推薦讀者率先閱讀。


    C 知識體繫龐雜,雖然筆者非常盡心盡力,但限於水平,書中疏漏在所難免,懇請各位讀者不吝指教。


    王健偉2020年5月

















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