1 C++ 2 Bjarne Stroustrup C++ (system programming) 6 (infrastructure) C++ 7 Herb Sutter 8 C++ (efficiency) (flexibility) 9 (abstraction) (productivity

Similar documents
562 A A.1.1 Sockets API Sockets API 2005 C# PC C# PDA PDA TCP PDA PC 42 PC PDA PC 7 PC FTP PC PDA single point of failure TCP read/write blocking 2010

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

Microsoft Word - 物件導向編程精要.doc

02

未命名-1

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

義 守 大 學 100 年 度 學 生 事 務 與 輔 導 工 作 成 效 報 告 表 填 表 日 期 :100 年 5 月 18 日 填 表 人 : 孫 淑 芬 工 作 目 標 2-4: 促 進 適 性 揚 才 與 自 我 實 現 工 作 項 目 編 號 29: 提 升 學 生 職 涯 規 劃 能

CH01.indd

大学计算机基础B.doc

Eclipse C C++, or

软件测试(TA07)第一学期考试

软 件 工 程 专 业 习 指 南 目 录 一 软 件 工 程 专 业 设 置 背 景 与 发 展 前 景... 3 二 软 件 工 程 专 业 实 践 教 条 件... 4 三 软 件 工 程 专 业 课 程 类 型 及 核 方 式 软 件 工 程 专 业 课 程 类 型...7

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C Project 30 C Project 3 60 Project 40

(procedure-oriented)?? 2

Microsoft PowerPoint - plan08.ppt

EJB-Programming-4-cn.doc

99年度誠信教育「融入式教案」甄選實施計畫

提问袁小兵:

_汪_文前新ok[3.1].doc

Microsoft Word - 全華Ch4Ans.doc


Java 1 Java String Date

ebook8-30

Learning Java

沒 有 關 係 最 後 說 及 創 業 過 程 中, 李 執 鐸 董 事 長 認 為, 踏 出 第 一 步 不 難, 最 難 的 還 是 過 程 中 的 堅 持 ( 天 下 雜 誌 第 207 期 - 絕 地 創 業, 冷 門 變 熱 門 ) 而 李 執 鐸 董 事 長 也 從 自 身 失 敗 的

Total Internet Connectivity in a Single Chip

XML XML XMPP XML XML Schema XML XML,,, XML,

《嵌入式系统设计》教学大纲

6 2 2 MMO 1 Arcade 2 iphone 4 1 Blog [Monkey Potion] 02

XXX专业本科人才培养方案

CC213

Scott Effective C++ C++ C++ Roger Orr OR/2 ISO C++ Effective Modern C++ C++ C++ Scoot 42 Bart Vandewoestyne C++ C++ Scott Effective Modern C++ Damien

... 12

1 目 錄 1. 簡 介 一 般 甄 試 程 序 第 一 階 段 的 準 備 第 二 階 段 的 準 備 每 間 學 校 的 面 試 方 式 各 程 序 我 的 做 法 心 得 及 筆 記 結 論..

计算机与信息工程系最终.FIT)

表3:

電機工程系認可證照清單 /7/1

创业板投资风险提示:本次股票发行后拟在创业板市场上市,该市场具有较高的投资风险

2/80 2

Dell EMC Data Domain DDOS 5.5 Data Domain Data Domain Data Domain : Data Domain Boost (DDBoost) Dell EMC DDBoost Data Domain DDBoost Source De-Dup Bac

Microsoft Word _Java_術科 .doc

1.3

Microsoft Word _2 課本1225_OK_0222修.doc

簡 述 所 有 參 與 教 案 編 寫 人 員 之 學 經 歷 及 負 責 內 容 參 與 教 案 編 寫 人 員 魏 俊 陽 學 歷 經 歷 負 責 內 容 國 立 臺 灣 師 範 新 北 市 閩 南 語 教 案 編 寫 大 學 課 程 與 教 輔 導 團 教 學 者 學 研 究 所 博 士 新

???h?????????W??????

党 政 投 资 基 金 落 户 上 城 区 曰 全 年 新 批 外 商 投 资 项 目 30 个 袁 实 际 利 用 外 资 万 美 元 曰 引 进 市 外 内 资 项 目 598 个 袁 实 际 到 位 资 金 亿 元 曰 推 进 区 市 协 作 工 程 袁 出 台 实 施

社 工 系 师 生 继 续 服 务 金 竹 林 儿 童 之 家.7 专 业 技 能 训 练 动 员 大 会..7 顶 岗 实 习 动 员 会 级 本 科 班 专 业 技 能 训 练...9 保 山 学 院 盈 江 青 爱 小 屋 支 教 行 级 政 本 班 德 育

信工学生工作简报 第四期.doc

支撑材料4.4.doc

教学设计方案

2009杭州市小学地方课程

任 务 单 一 ~2: 文 具 书 本 摆 整 齐, 争 得 自 理 星 争 星 要 求 : 文 具 用 品 摆 放 好, 书 本 叠 叠 放 整 齐 探 秘 任 务 一 ~2: 文 具 书 本 摆 整 齐, 争 得 自 理 星 任 务 1: 跟 小 辅 导 员 一 起 参 观 高 年 级 的 教

课程整体教学设计指导意见

天天星期三


Microsoft Word - 08_科普作品選讀示例一_ doc

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

Android Robert C.C. Huang Oscar F.Y. Liu Peter C.L. Hsieh 2011/03/21

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

Microsoft Word - PKUCS计算机教育 doc

Microsoft PowerPoint - 数据通信-ch1.ppt

C++11概要 ライブラリ編

柳州化工股份有限公司

热设计网

高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 计 算 机 应 用 基 础 刘 升 贵 年 8 月

资 讯 快 报 本 期 关 注 毕 业 季, 你 说 认 识 大 学, 把 握 大 学 主 管 招 生 就 业 处 主 办 重 邮 就 业 指 导 服 务 中 心 顾 问 黄 永 宜 刘 景 刚 指 导 教 师 李 军 曾 淋 钟 平 峰 马 小 丽 主 编 温 文 祥 李 清 影 副 主 编 冉

/ / (FC 3)...

Microsoft Word - 口試本封面.doc

93年各縣國中教師甄試最新考情.doc

(Microsoft Word - \244g\246a\247B\244\275\253H\245\365\244\247\275\325\254d\254\343\250s doc)

计 算 机 系 统 应 用 年 第 25 卷 第 1 期 的 编 程 语 言 Giotto [9] 编 写 控 制 程 序, 可 以 方 便 的 控 制 程 序 的 逻 辑 执 行 时 间, 从 而 使 得 任 务 时 间 的 依 赖 关 系

Microsoft Word 電腦軟體設計.doc

各 级 领 导 及 世 界 技 能 组 织 主 席 西 蒙 巴 特 利 参 观 深 圳 技 师 学 院 高 技 能 人 才 培 养 模 式 和 课 程 改 革 创 新 成 果 展 人 力 资 源 和 社 会 保 障 部 职 业 能 力 建 设 司 司 长 吴 道 槐 中 国 职 工 教 育 和 职

经华名家讲堂

PowerPoint Presentation

Microsoft PowerPoint - ARC110_栾跃.ppt

中国证券业协会远程培训系统

untitled

場 的 職 能 需 求 狀 況, 並 能 有 一 套 職 能 管 理 資 訊 系 統 對 各 職 位 進 行 職 能 資 料 管 理 分 析 與 應 用 資 料, 則 對 企 業 人 力 應 用 與 提 昇 上 均 有 極 大 之 助 益, 故 本 研 究 之 主 要 目 的 有 二 : (1) 職

University of Science and Technology of China A dissertation for master s degree Research of e-learning style for public servants under the context of

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

Microsoft Word - chapter1.doc

李 老 他 自 己 却 老 是 自 称 科 员, 老 说 我 李 科 员 怎 样 怎 样, 倒 好 像 这 是 一 个 值 得 他 夸 耀 的 什 么 官 衔 一 样 他 是 我 们 这 个 衙 门 里 资 格 最 老 的 科 员, 他 自 己 却 说 是 这 个 衙 门 里 最 没 有 出 息 的

廉政课堂

untitled

Microsoft PowerPoint - Model Checking a Lazy Concurrent List-Based Set Algorithm.ppt [Compatibility Mode]

管道建模基础.ppt

附 件 : 2009 年 度 国 家 精 品 课 程 名 单 一 本 科 国 家 精 品 课 程 ( 以 学 科 为 序, 共 400 门 ) 序 号 一 级 学 科 二 级 学 科 课 程 名 称 学 校 名 称 负 责 人 1 哲 学 哲 学 类 马 克 思 主 义 伦 理 学 安 徽 师 范

第3章.doc

京教〔2003〕号

Microsoft PowerPoint - lect01.ppt

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

第 1 期 常 壮 等 : 基 于 RS-485 总 线 的 舰 船 损 管 训 练 平 台 控 系 统 研 究 87 能 : 1) 损 管 基 本 理 论 的 学 习 帮 助 舰 员 熟 悉 舰 艇 舱 室 相 关 规 章 制 度 损 管 施 分 布 和 使 用 不 沉 性 文 件 等 ) 损 管

c_cpp

Fiery Command WorkStation

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

【主持人】:给大家介绍一下,这次的培训是我们画刊部的第三次培训,当然今天特别有幸请来著吊的摄影家李少白老师给我们讲课


< C4EACFC4BCBED1A7C6DABFE7D7A8D2B5D1A1D0DEBFCEB3CCBFCEB3CCBDE9C9DC2E786C73>

Transcription:

1 C++ 1 C++ Primer C++ (giantchen@gmail.com) 2012-7-11 Creative Commons - - 3.0 Unported (cc by-nc-nd) http://creativecommons.org/licenses/by-nc-nd/3.0/ 1 C++ 2009 Stanley Lippman C++ C++ Java/C#/Python C++ C++ 1 C++ 2 3 C++ 10% 10% 4 (GC) C++ 5 C++ Java C# 1 http://shootout.alioth.debian.org/ Google https://days2011.scala-lang.org/sites/days2011/files/ws3-1-hundt.pdf 2 C++ Bjarne Stroustrup C++ http://www2.research.att.com/~bs/applications.html 3 C++ http://aristeia.com/talknotes/misra_day_2010.pdf 4 Milo Yip C++ ( Unreal/Source) ( Havok/FMOD) C++ http://www.cnblogs.com/miloyip/archive/2010/09/17/behind_cplusplus.html 5 C++ (clean up) http://blog.csdn.net/myan/article/details/1906

1 C++ 2 Bjarne Stroustrup C++ (system programming) 6 (infrastructure) C++ 7 Herb Sutter 8 C++ (efficiency) (flexibility) 9 (abstraction) (productivity) 10 C++ is about efficient programming with abstractions C++ 11 C++ 12 13 & inline int find_longest(const std::vector<std::string>& words) { // std::max_element(words.begin(), words.end(), LengthCompare()); } CPU C++ (memory layout ) (locality of reference) 14 (memory hierarchy) Scott Meyers PPT CPU Caches and Why You Care Herb Sutter PPT Machine Architecture 15 6 CPU 7 Software Development for Infrastructure. http://www2.research.att.com/~bs/computer-jan12.pdf 8 Herb Sutter C++ and Beyond 2011 Why C++? http://channel9.msdn.com/posts/c-and-beyond-2011-herb-sutter-why-c 9 (just-in-time compilation) 10 Stan Lippman Linux 1970 C++ C++ 11 Ulrich Drepper Stop Underutilizing Your Computer SIMD http://www.redhat.com/f/pdf/summit/udrepper_945_stop_underutilizing.pdf 12 Technical Report on C++ Performance http://www.open-std.org/jtc1/sc22/wg21/docs/18015.html 13 Scott Meyers Effective C++ in an Embedded Environment http://www.artima.com/shop/effective_cpp_in_an_embedded_environment 14 std::list O(1) std::vector O(N) std::vector (compact) std::vector std::list http://ecn.channel9.msdn.com/events/goingnative12/gn12cpp11style.pdf std::vector 15 http://aristeia.com/talknotes/accu2011_cpucaches.pdf http://www.nwcpp.org/downloads/2007/machine_architecture_-_nwcpp.pdf

2 C++ 3 / GC 16 C++ C Java Python TIOBE C++ Java 2 C++ C++ (features) Google 17 C++ C++ 18 19 C++ C++ Bjarne Stroustrup The C++ Programming Language Stan Lippman C++ Primer 20 C++ C++ Primer C++ C++ Primer C++ Primer 21 Barbara Moo 16 Bjarne Stroustrup Abstraction and the C++ machine model C++ Java http://www2.research.att.com/ bs/abstraction-and-machine.pdf 17 50% http://blog.csdn.net/myan/article/details/3144661 18 Java C# Python 19 C++ 20 C++ Primer 3/e http://jjhou.boolan.com/cpp-primer-foreword.pdf 21 Bjarne Stroustrup Programming Principles and Practice Using C++ use only the 4th edition.

2 C++ 4 2.1 C++ Primer C++ Huffman C++ C++ (syntax) (semantics) C++ STL C++ 22 C++ C++ 23 1 C++ C++ Primer C C++ C++ C C++ Primer C++ C++ 24 25 C++ 900 C++ Primer C++ std::string std::vector std::string 22 C++ Primer 4/e 23 21 Accelerated C++ C : C ( 2 ) 24 iostream locale/facet 25 Stanley Lippman Virtual base class support wanders off into the Byzantine... The material is simply too esoteric to warrant discussion...

2 C++ 5 C++ Primer 10.4.2 10.6 15.9 Liskov C++ Primer 2005 2003 C++ 26 C++ 2011 C++11 TR1 27 C++11 28 C++ C++ Primer C++ GNU G++ Visual C++ 29 C++ C++ C++ C++ 30 C++ C++ C++ C C++ C++ C++ 31 32 C++ 26 1998 C++ 27 TR1 2005 C++ bind/function 28 C++ Primer C++11 29 G++ Linux Unix Visual C++ Windows C++ Intel C++ Linux G++ Windows Visual C++ 30 Cfront http://www.softwarepreservation.org/projects/c_plus_plus 31 C++ http://stackoverflow.com/questions/3931312 32 G++ 4.x 32-bit 64-bit 64-bit C++ Visual C++ 2010 Express Visual C++ 6.0

2 C++ 6 C++ 33 C++ (module) (package) C C++ 34 vector<t> vector int std::string 3+2*4 35 calculate() + Node 3 * NumberNode BinaryNode 2 4 AddNode MultiplyNode BinaryNode<std::plus<double> > BinaryNode<std:: multiplies<double> > BinaryNode<T> 33 C++ C++ 34 std::vector<int> 35 Packrat http://www.relisoft.com/book/lang/poly/3tree.html

3 7 Node NumberNode BinaryNode<T> 15.8 Handle C++ C++ C++ 36 C++ C++ 37 Google protobuf leveldb PCRE C++ muduo Chromium Google C++ STL Boost C++ C++ C Java C++ 3 C++ C++ Primer C++ Effective C++ 38 C++ C++ Primer C++ 36 http://blog.csdn.net/myan/article/details/3247071 37 38 Scott Meyers

3 8 Effective C++ Effective C++ C++ C++ C++ (override) 39 class 40 C++ idiom RAII 41 TCP RAII C++ 5 42 C++ delete C++ Effective C++ 3 C++ C 43 TR1 bind/function 44 Stephan T. Lavavej PPT TR1 45 46 39 Andrew Koenig Teaching C++ Badly: Introduce Constructors and Destructors at the Same Time http://drdobbs.com/blogs/cpp/229500116 40 std::string std::vector boost::shared_ptr class 41 (heap) 42 TR1 shared_ptr weak_ptr boost::scoped_ptr 43 Java 7 try-with-resources Python with C# using 44 function/bind http://blog.csdn.net/myan/article/details/5928531 45 http://blogs.msdn.com/b/vcblog/archive/2008/02/22/tr1-slide-decks.aspx 46

3 9 STL 47 C++ Primer C++ C++ 48 concept model refinement C++ STL STL 49 C++ type traits C++ 50 C 51 C++ C++ C++ Effective C++ 1 31 C++ C/C++ 52 35 class 43 pimpl C++ 47 Matthew Austern 48 Herb Sutter 49 Iterator http://jjhou.boolan.com/programmer-3-traits.pdf 50 C++ http://blog.csdn.net/myan/article/details/1920 51 C++ 52 http://www.math.pku.edu.cn/teachers/qiuzy/technotes/expression2009.pdf

4 10 56 swap() swap() 59 #include using 73 by value by reference 76 vector 79 value smart pointer 5 (entity) 6 8 9 22 32 class value class base class trait class policy class exception class 33 class 37 public 57 class namespace C++ Google C++ 53 LLVM 54 4 2010 11 PDF C++ 15% 55 5 C++11 56 TR1 TR1 53 http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#exceptions 54 http://llvm.org/docs/codingstandards.html#ci_rtti_exceptions 55 10 11 lower_bound upper_bound 56 Scott Meyers C++11 http://www.artima.com/shop/overview_of_the_new_cpp

4 11 URL C++ [CCS] soxxxxxx http://stackoverflow.com/questions/xxxxxx 4.1 http://www.informit.com/store/product.aspx?isbn=0201721481 http://book.douban.com/subject/10944985/ PDF http://chenshuo.com/cp4/ https://github.com/chenshuo/documents/downloads/learncpp.pdf giantchen@gmail.com http://weibo.com/giantchen 2012 5