书籍详情

C++ Primer:英文版

C++ Primer:英文版

作者:(美)Stanley B.Lippman,(加)Josee Lajoie著

出版社:人民邮电出版社

出版时间:2005-09-01

ISBN:9787115140562

定价:¥69.00

购买这本书可以去
内容简介
  《C++Primer(英文影印版)(第3版)(畅销国内外的经典图书)》本书全面讲解了C++程序设计语言的特性和用法。全书分五个部分对C++进行阐述。第一部分是C++概述,第二部分在此基础上介绍C++语言,主要涉及数据类型、表达式、语句及抽象容器类型,第三部分是基于过程的程序设计,主要介绍函数、域和生命期、重载函数、函数模板、异常处理及泛型算法,第四部分是基于对象的程序设计,主要介绍类、重载操作符及类模板,第五部分是面向对象的程序设计,主要讲解类继承和子类型、多继承和虚拟继承及iostream库等。本书中融合了StanleyLippman的实践经验和JoséeLajoie对于ANSI/ISO标准C++的深入理解,各个层次的程序设计人员都会从本书中获益匪浅。本书完美地结合了StanleyB.Lippman的实践经验和JoséeLajoie对于ANSI/ISO的深入理解,更加准确地讲述了标准C++的特性和用法。对于C++的初学者,特别有价值的是一些来自真实世界的编程示例,这些示例说明了泛型程序的设计、面向对象程序设计、模板的用法以及使用标准C++的其他方面。除此之外,本书还在适当的地方提供了用法和效率方面的指导。本书特色·从实用的角度出发,清晰地讲解了标准库,并辅以丰富的例子,重点强调容器、迭代器、算法(即标准模板库STL)、string类和iostream。·详细讨论了标准C++的新特性,包括异常处理、运行时类型识别、名字空间、内置布尔类型和新类型强制转换表示等,并说明了如何有效地使用这些特性。·全面介绍了C++语言的高级特性,例如模板、类、继承机制,以适应泛型程序设计、面向对象程序设计和基于对象程序设计。·特别提供了一个附录,可作为泛型算法快速参考,描述了这些算法的行为,并提供使用这些算法的具体示例。
作者简介
  Stanley B. Lippman 自 1984 年起他一直从事 C++ 方面的工作,曾经担任迪士尼动画公司的首席软件设计师。他在 AT&T Bell 实验室时曾领导过最早的 C++ 编译器 cfront 的 3.0 和 2.1 版本的开发小组。他也曾是 Bjarne Stroustrup 领导的 Bell 实验室 Foundation 研究项目的成员之一,负责 C++ 程序设计环境的对象模型部分。目前他已受雇于微软公司,成为 Microsoft C++/CLI 的架构设计师。 Josée Lajoie 曾经是 IBM 加拿大实验室的 C/C++ 编译器开发组的成员,也曾是 ANSI/ISO C++ 标准委员会的核心语言工作组的主席。她是《 C++ Report 》杂志的专栏作家,目前她在滑铁卢大学计算机图形学硕士学位。
目录
Part I: C++, An Overview
Chapter 1: Getting Started
     1.1: Problem Solving
     1.2: The C++ Program
     1.3: Preprocessor Directives
     1.4: A Word About Comments
     1.5: A First Look at Input/Output
Chapter 2: A Tour of C++
     2.1: The Built-In Array Data Type
      2.2: Dynamic Memory Allocation and Pointers..
      2.3: An Object-Based Design
      2.4: An Object-Oriented Design
      2.5: A Generic Design
      2.6: An Exception-Based Design
      2.7: An Array by Any Other Name
      2.8: The Standard Array Is a Vector
Part II: The Basic Language
Chapter 3: The C++ Data Types
      3.1: Literal Constant
      3.2: Variables
      3.3: Pointer Types
      3.4: String Types
      3.5: const Qualifier
      3.6: Reference Types
      3.7: The bool Type  
      3.8: Enumeration Types
      3.9: Array Types
     3.10: The vector Container Type
     3.11: complex Number Types
     3.12: Typedef Names
     3.13: volatile Qualifier
     3.14: The pair Type
     3.15: Class Types
Chapter 4: Expressions
     4.1: What Is an Expression?
     4.2: Arithmetic Operators
     4.3: Equality, Relational, and Logical Operators..
     4.4: Assignment Operators
     4.5: Increment and Decrement Operators
     4.6: Complex Number Operations
     4.7: The Conditional Operator
     4.8: The sizeof Operator
     4.9: The new and delete Expressions
    4.10: Comma Operator
    4.11: The Bitwise Operators
    4.12: bitset Operations
    4.13: Precedence
    4.14: Type Conversions
    4.15: AStack Class Example
                              
Chapter 5: Statements
     5.1: Simple and Compound Statements
      5.2: Declaration Statement
      5.3: The if Statement
      5.4: The switch Statement
      5.5: The for Loop Statement  
      5.6: The while Statement
      5.7: The do while Statement
      5.8: The break Statement
      5.9: The continue Statement
     5.10: The goto Statement
     5.11: A Linked List Example
Chapter 6: Abstract Container Types
      6.1: Our Text Query System
      6.2: A vector or a list?
      6,3: How a vector Grows Itself  
      6.4: Defining a Sequence Container
      6.5: Iterators
      6.6: Sequence Container Operations
      6.7: Storing Lines of Text
      6.8: Finding a Substring
      6.9: Handling Punctuation
     6.10:  A String by Any Other Format
     6.11: Additional String Operations
   6.12: Building a Text Location Map
    6.13: Building a Word Exclusion Set
   6.14: The Complete Program
     6.15: Multimap and Multiset
    6.16: Stack
    6.17: Queue and Priority Queue
    6.18: Revisiting Our iStack Class
Part III: Procedural-Based Programming
Chapter 7: Functions
     7.1: Overview
     7.2: Function Prototype
     7.3: Argument Passing
     7.4: Returning a Value
     7.5: Recursion
     7.6: Inline Functions
     7.7: Linkage Directives: extern"C"
     7.8: main(): Handling Command Line Options
     7.9: Pointers to Functions
Chapter 8: Scope and Lifetime
     8.1: Scope
     8.2: Global Objects and Functions
      8.3: Local Objects
      8.4: Dynamically Allocated Objects
      8.5: Namespace Definitions
      8.6: Using Namespace Members
Chapter 9: Overloaded Functions
      9.1: Overloaded Function Declarations
      9.2: The Three Steps of Overload Resolution
      9.3: Argument Type Conversions
      9.4: Details of Function Overload Resolution
Chapter 10: Function Templates
     10.1: Function Template Definition
     10.2: Function Template Instantiation
     10.3: Template Argument Deduction
     10.4: Explicit Template Arguments
     10.5: Template Compilation Models
     10.6: Template Explicit Specialization
      10.7: Overloading Function Templates
     10.8: Overload Resolution with Instantiations
     10.9: Name Resolution in Template Definitions
10.10: Namespaces and Function Templates
  10.11: Function Template Example
Chapter 11: Exception Handling
    11.1: Throwing an Exception
    11.2: The Try Block
    11.3: Catching an Exception
    11.4:  Exception Specifications
    11.5: Exceptions and Design Issues
Chapter 12: The Generic Algorithms
    12.1: Overview
    12.2: Using the Generic Algorithms
    12.3: Function Objects
    12.4: Revisiting Iterators
    12.5: The Generic Algorithms
    12.6: When Not to Use the Generic Algorithms
Part IV: Object-Based Prosramming
Chapter 13: Classes
    13.1: Class Definition
    13.2: Class Objects
    13.3: Class Member Functions
    13.4: The Implicit this Pointer
    13.5: Static Class Members
    13.6: Pointer to Class Member
    13.7: Union: A Space-Saving Class  
    13.8: Bit-field: A Space-Saving Member
    13.9: Class Scope
   13.10: Nested Classes
   13.11: Classes as Namespace Members
   13.2: Local Classes
Chapter 14: Class Initialization, Assignment, and Destruction
     14.1: Class Initialization
     14.2: The Class Constructor
     14.3: The Class Destructor
     14.4: Class Object Arrays and Vectors
     14.5: The Member Initialization List
     14.6: Memberwise Initialization
     14.7: Memberwise Assignment
     14.8: Efficiency Considerations
Chapter 15: Overloaded Operators and User-Defined Conversions. .,
    15.1: Operator Overloading
    15.2: Friends
    15.3: Operator
    15.4: Operator [ ]
    15.5: Operator ( )  
    15.6: Operator->
    15.7: Operators ++ and
    15.8: Operators new and delete
    15.9: User-Defined Conversions
   15.10: Selecting a Conversion
   15.11: Overload Resolution and Member Functions
   15.12: Overload Resolution and Operators
Chapter 16: Class Templates
    16.1: Class Template Definition
    16.2: Class Template Instantiation
    16.3:, Member Functions of Class Templates
    16.4: Friend Declarations in Class Templates
    16.5: Static Data Members of Class Templates
    16.6: Nested Types of Class Templates
    16.7: Member Templates
    16.8: Class Templates and Compilation Model
    16.9: Class Template Specializations
   16.10: Class Template Partial Specializations
   16.11: Name Resolution in Class Templates
   16.12: Namespaces and Class Templates
   16.13: A Template Array Class
Part V: Object-Oriented Programming  
Chapter 17: Class Inheritance and Subtyping
     17.1: Defining a Class Hierarchy
     17.2: Identifying the Members of the Hierarchy
     17.3: Base Class Member Access
     17.4: Base and Derived Class Construction
    17.5: Base and Derived Class VirtUal Functions
    17.6: Memberwise Initialization and Assignment
     17.7: A UserQuery Manager Class
     17.8: Putting It Together
Chapter 18: Multiple and Virtual Inheritance
    18.1: Setting the Stage
    18.2: Multiple Inheritance
    18.3: Public, Private, and Protected Inheritance
    18.4: Class Scope under Inheritance
    18.5: Vh'tual Inheritance
    18.6: A Multiple, Virtual Inheritance Example
Chapter 19: Uses of Inheritance in C ++
    19.1: Run-Tune Type Identification
    19.2: Exceptions and Inheritance
    19.3: Overload Resolution and Inheritance
Chapter 20: The iostream Library
    20.1: The Output Operator<<
    20.2: Input
    20.3: Additional Input/Output Operators
    20.4: Overloading the Output Operator <<
    20.5: Overloading the Input Operator >>
    20.8: File Input and Output
    20.7: Condition States
    20.8: String Streams
    20.9: Format State
   20.10: A Strongly Typed Library
Appendix: The Generic Algorithms Alphabetically..
     accumulate()
     adjacent_difference0
     adjacent_find()
     bimry_search()
      copy()
      copy_backward()
      count()
      count_if()
      equal()
      equal_range()
    fill()
    fill_n()
      find()
      find_if()
      find_end()
     find_first_of()
     for_each()
generate()
generate_n()
includes()
inner_product()
inplace_merge()
iter_swap ()
lexicographical_compare()
lower_bound()
max()
max_element()
min()
min_element()
merse()
mismatch()
next_permutation()
nth_element()
partial_sort()
partial_sort_copy()
partial_sum()
partition()
prev_permutation()
random_shuffle()
remove()
remove_copy()
remove_if()
remove_copy_if()
replace()
replace_copy()
replace_if()
replace_copy_if()
reverse()
reverse_copy()
rotate()
rotate_copy()
search()
search_n()
set_difference()
set_intersection()
set_symmetric_difference()
set_union()
sort()
     stable_partition()
     stable_sort()
     swap()
     swap_range()
     transform()
     unique()
     unique_copy()
     upper_bound()
     Heap Algorithms
     make_heap()
     pop_heap()
     push_heap()
     sort_heap()
Index
猜您喜欢

读书导航