FREE SHIPPING BOTH WAYS
ON EVERY ORDER!
LIST PRICE:
$49.99

Sorry, this item is currently unavailable.

C++ Primer

ISBN: 9780201824704 | 0201824701
Edition: 3rd
Format: Paperback
Publisher: Addison-Wesley Professional
Pub. Date: 1/1/1998

Why Rent from Knetbooks?

Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!

Top 5 reasons to order all your textbooks from Knetbooks:

  • We have the lowest prices on thousands of popular textbooks
  • Free shipping both ways on ALL orders
  • Most orders ship within 48 hours
  • Need your book longer than expected? Extending your rental is simple
  • Our customer support team is always here to help
SummaryTable of Contents
C++ Primer, Third Edition, combines the practical experience and writing of Stanley Lippman, and the inside knowledge of the ANSI/ISO Standards Draft from Josee Lajoie. Completely rewritten, this tutorial is driven by examples which help the novice C++ programmer solve problems in terms of choice of language features, implementation, and efficiency. Programming aspects of the language are presented in the context of solving a particular problem or programming task. Language rules are given both to clearly introduce the rule and provide a reference to it. The book covers the new C++ Standard Library, including extensive treatment of what was formerly known as the Standard Template Library (STL), as well as the string and complex class types. It also examines the new language features introduced into the International Standard, such as Exception Handling, Run-Time Type Identification, Namespaces, the built-in bool type, and new-style cast-notation.
Prefacexiii
Structure of This Bookxiv(4)
Changes to the Third Editionxviii(1)
The Future of C++xix(1)
Acknowledgmentsxx(1)
... MORExx(1)
Bibliographyxxi
Part I: C++, An Overview1(72)
Chapter 1: Getting Started
5(18)
1.1: Problem Solving
5(1)
1.2: The C++ Program
6(7)
1.3: Preprocessor Directives
13(4)
1.4: A Word About Comments
17(2)
1.5: A First Look at Input/Output
19(4)
Chapter 2: A Tour of C++
23(50)
2.1: The Built-In Array Data Type
23(3)
2.2: Dynamic Memory Allocation and Pointers
26(4)
2.3: An Object-Based Design
30(11)
2.4: An Object-Oriented Design
41(10)
2.5: A Generic Design
51(7)
2.6: An Exception-Based Design
58(4)
2.7: An Array by Any Other Name
62(6)
2.8: The Standard Array Is a Vector
68(5)
Part II: The Basic Language73(256)
Chapter 3: The C++ Data Types
75(66)
3.1: Literal Constant
75(4)
3.2: Variables
79(9)
3.3: Pointer Types
88(5)
3.4: String Types
93(9)
3.5: const Qualifier
102(3)
3.6: Reference Types
105(5)
3.7: The bool Type
110(1)
3.8: Enumeration Types
111(3)
3.9: Array Types
114(7)
3.10: The vector Container Type
121(4)
3.11: complex Number Types
125(1)
3.12: Typedef Names
126(1)
3.13: volatile Qualifier
127(1)
3.14: The pair Type
128(1)
3.15: Class Types
129(12)
Chapter 4: Expressions
141(48)
4.1: What Is an Expression?
141(2)
4.2: Arithmetic Operators
143(3)
4.3: Equality, Relational, and Logical Operators
146(3)
4.4: Assignment Operators
149(5)
4.5: Increment and Decrement Operators
154(1)
4.6: Complex Number Operations
155(4)
4.7: The Conditional Operator
159(1)
4.8: The sizeof Operator
160(2)
4.9: The new and delete Expressions
162(2)
4.10: Comma Operator
164(1)
4.11: The Bitwise Operators
164(4)
4.12: bitset Operations
168(4)
4.13: Precedence
172(3)
4.14: Type Conversions
175(10)
4.15: A Stack Class Example
185(4)
Chapter 5: Statements
189(60)
5.1: Simple and Compound Statements
189(2)
5.2: Declaration Statement
191(3)
5.3: The if Statement
194(8)
5.4: The switch Statement
202(8)
5.5: The for Loop Statement
210(4)
5.6: The while Statement
214(2)
5.7: The do while Statement
216(2)
5.8: The break Statement
218(2)
5.9: The continue Statement
220(1)
5.10: The goto Statement
220(2)
5.11: A Linked List Example
222(27)
Chapter 6: Abstract Container Types
249(80)
6.1: Our Text Query System
250(4)
6.2: A vector or a list?
254(2)
6.3: How a vector Grows Itself
256(4)
6.4: Defining a Sequence Container
260(5)
6.5: Iterators
265(4)
6.6: Sequence Container Operations
269(4)
6.7: Storing Lines of Text
273(3)
6.8: Finding a Substring
276(6)
6.9: Handling Punctuation
282(3)
6.10: A String by Any Other Format
285(3)
6.11: Additional String Operations
288(6)
6.12: Building a Text Location Map
294(11)
6.13: Building a Word Exclusion Set
305(3)
6.14: The Complete Program
308(10)
6.15: Multimap and Multiset
318(3)
6.16: Stack
321(2)
6.17: Queue and Priority Queue
323(1)
6.18: Revisiting Our iStack Class
324(5)
Part III: Procedural-Based Programming329(282)
Chapter 7: Functions
331(58)
7.1: Overview
331(3)
7.2: Function Prototype
334(4)
7.3: Argument Passing
338(18)
7.4: Returning a Value
356(5)
7.5: Recursion
361(2)
7.6: Inline Functions
363(1)
7.7: Linkage Directives: extern "C"
364(3)
7.8: main(): Handling Command Line Options
367(11)
7.9: Pointers to Functions
378(11)
Chapter 8: Scope and Lifetime
389(54)
8.1: Scope
389(6)
8.2: Global Objects and Functions
395(7)
8.3: Local Objects
402(3)
8.4: Dynamically Allocated Objects
405(15)
8.5: Namespace Definitions
420(14)
8.6: Using Namespace Members
434(9)
Chapter 9: Overloaded Functions
443(46)
9.1: Overloaded Function Declarations
443(13)
9.2: The Three Steps of Overload Resolution
456(2)
9.3: Argument Type Conversions
458(16)
9.4: Details of Function Overload Resolution
474(15)
Chapter 10: Function Templates
489(58)
10.1: Function Template Definition
489(8)
10.2: Function Template Instantiation
497(3)
10.3: Template Argument Deduction
500(5)
10.4: Explicit Template Arguments
505(4)
10.5: Template Compilation Models
509(5)
10.6: Template Explicit Specialization
514(6)
10.7: Overloading Function Templates
520(2)
10.8: Overload Resolution with Instantiations
522(9)
10.9: Name Resolution in Template Definitions
531(7)
10.10: Namespaces and Function Templates
538(4)
10.11: Function Template Example
542(5)
Chapter 11: Exception Handling
547(24)
11.1: Throwing an Exception
547(4)
11.2: The Try Block
551(4)
11.3: Catching an Exception
555(9)
11.4: Exception Specifications
564(4)
11.5: Exceptions and Design Issues
568(3)
Chapter 12: The Generic Algorithms
571(40)
12.1: Overview
571(4)
12.2: Using the Generic Algorithms
575(11)
12.3: Function Objects
586(8)
12.4: Revisiting Iterators
594(9)
12.5: The Generic Algorithms
603(3)
12.6: When Not to Use the Generic Algorithms
606(5)
Part IV: Object-Based Programming611(266)
Chapter 13: Classes
613(76)
13.1: Class Definition
614(7)
13.2: Class Objects
621(3)
13.3: Class Member Functions
624(12)
13.4: The Implicit this Pointer
636(5)
13.5: Static Class Members
641(8)
13.6: Pointer to Class Member
649(9)
13.7: Union: A Space-Saving Class
658(5)
13.8: Bit-field: A Space-Saving Member
663(2)
13.9: Class Scope
665(7)
13.10: Nested Classes
672(11)
13.11: Classes as Namespace Members
683(4)
13.12: Local Classes
687(2)
Chapter 14: Class Initialization, Assignment, and Destruction
689(48)
14.1: Class Initialization
689(2)
14.2: The Class Constructor
691(12)
14.3: The Class Destructor
703(6)
14.4: Class Object Arrays and Vectors
709(7)
14.5: The Member Initialization List
716(7)
14.6: Memberwise Initialization
723(6)
14.7: Memberwise Assignment
729(3)
14.8: Efficiency Considerations
732(5)
Chapter 15: Overloaded Operators and User-Defined Conversions
737(74)
15.1: Operator Overloading
737(11)
15.2: Friends
748(3)
15.3: Operator =
751(3)
15.4: Operator []
754(1)
15.5: Operator ()
755(1)
15.6: Operator ->
756(3)
15.7: Operators ++ and --
759(4)
15.8: Operators new and delete
763(9)
15.9: User-Defined Conversions
772(10)
15.10: Selecting a Conversion
782(13)
15.11: Overload Resolution and Member Functions
795(6)
15.12: Overload Resolution and Operators
801(10)
Chapter 16: Class Templates
811(66)
16.1: Class Template Definition
812(8)
16.2: Class Template Instantiation
820(9)
16.3: Member Functions of Class Templates
829(4)
16.4: Friend Declarations in Class Templates
833(6)
16.5: Static Data Members of Class Templates
839(2)
16.6: Nested Types of Class Templates
841(3)
16.7: Member Templates
844(5)
16.8: Class Templates and Compilation Model
849(7)
16.9: Class Template Specializations
856(4)
16.10: Class Template Partial Specializations
860(2)
16.11: Name Resolution in Class Templates
862(3)
16.12: Namespaces and Class Templates
865(2)
16.13: A Template Array Class
867(10)
Part V: Object-Oriented Programming877(322)
Chapter 17: Class Inheritance and Subtyping
879(86)
17.1: Defining a Class Hierarchy
882(8)
17.2: Identifying the Members of the Hierarchy
890(10)
17.3: Base Class Member Access
900(8)
17.4: Base and Derived Class Construction
908(11)
17.5: Base and Derived Class Virtual Functions
919(24)
17.6: Memberwise Initialization and Assignment
943(5)
17.7: A UserQuery Manager Class
948(10)
17.8: Putting It Together
958(7)
Chapter 18: Multiple and Virtual Inheritance
965(56)
18.1: Setting the Stage
965(5)
18.2: Multiple Inheritance
970(7)
18.3: Public, Private, and Protected Inheritance
977(8)
18.4: Class Scope under Inheritance
985(8)
18.5: Virtual Inheritance
993(12)
18.6: A Multiple, Virtual Inheritance Example
1005(16)
Chapter 19: Uses of Inheritance in C++
1021(42)
19.1: Run-Time Type Identification
1021(12)
19.2: Exceptions and Inheritance
1033(18)
19.3: Overload Resolution and Inheritance
1051(12)
Chapter 20: The iostream Library
1063(60)
20.1: The Output Operator(two less than signs)
1067(5)
20.2: Input
1072(11)
20.3: Additional Input/Output Operators
1083(7)
20.4: Overloading the Output Operator
1090(5)
20.5: Overloading the Input Operator (two greater than signs)
1095(2)
20.6: File Input and Output
1097(10)
20.7: Condition States
1107(2)
20.8: String Streams
1109(3)
20.9: Format State
1112(9)
20.10: A Strongly Typed Library
1121(2)
Appendix: The Generic Algorithms Alphabetically
1123(76)
accumulate()
1125(1)
adjacent_difference()
1126(1)
adjacent_find()
1127(1)
binary_search()
1128(1)
copy()
1129(1)
copy_backward()
1130(1)
count()
1131(2)
count_if()
1133(1)
equal()
1134(2)
equal_range()
1136(2)
fill()
1138(1)
fill_n()
1139(1)
find()
1140(1)
find_if()
1141(2)
find_end()
1143(1)
find_first_of()
1144(1)
for_each()
1145(1)
generate()
1146(1)
generate_n()
1147(1)
includes()
1148(1)
inner_product()
1149(1)
inplace_merge()
1150(2)
iter_swap()
1152(1)
lexicographical_compare()
1153(1)
lower_bound()
1154(2)
max()
1156(1)
max_element()
1156(1)
min()
1156(1)
min_element()
1157(1)
merge()
1158(1)
mismatch()
1159(2)
next_permutation()
1161(1)
nth_element()
1162(1)
partial_sort()
1163(1)
partial_sort_copy()
1164(1)
partial_sum()
1165(2)
partition()
1167(1)
prev_permutation()
1168(1)
random_shuffle()
1169(1)
remove()
1170(1)
remove_copy()
1170(1)
remove_if()
1171(1)
remove_copy_if()
1172(1)
replace()
1173(1)
replace_copy()
1173(1)
replace_if()
1174(1)
replace_copy_if()
1174(1)
reverse()
1175(1)
reverse_copy()
1176(1)
rotate()
1177(1)
rotate_copy()
1177(1)
search()
1178(2)
search_n()
1180(1)
set_difference()
1181(1)
set_intersection()
1181(1)
set_symmetric_difference()
1182(1)
set_union()
1182(2)
sort()
1184(1)
stable_partition()
1185(1)
stable_sort()
1186(1)
swap()
1187(1)
swap_range()
1188(1)
transform()
1189(1)
unique()
1190(1)
unique_copy()
1191(2)
upper_bound()
1193(1)
Heap Algorithms
1194(1)
make_heap()
1194(1)
pop_heap()
1195(1)
push_heap()
1195(1)
sort_heap()
1195(4)
Index1199

Related Products


  • C++ Primer
    C++ Primer
  • C++ Primer
    C++ Primer
  • C++ Primer
    C++ Primer


Please wait while this item is added to your cart...