Muutke küpsiste eelistusi

Cplusplus Standard Library Quick Reference 1st ed. [Pehme köide]

  • Formaat: Paperback / softback, 211 pages, kõrgus x laius: 235x155 mm, kaal: 3693 g, 2 Illustrations, color; 9 Illustrations, black and white; XXIII, 211 p. 11 illus., 2 illus. in color., 1 Paperback / softback
  • Ilmumisaeg: 14-Jun-2016
  • Kirjastus: APress
  • ISBN-10: 1484218752
  • ISBN-13: 9781484218754
  • Pehme köide
  • Hind: 41,04 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 211 pages, kõrgus x laius: 235x155 mm, kaal: 3693 g, 2 Illustrations, color; 9 Illustrations, black and white; XXIII, 211 p. 11 illus., 2 illus. in color., 1 Paperback / softback
  • Ilmumisaeg: 14-Jun-2016
  • Kirjastus: APress
  • ISBN-10: 1484218752
  • ISBN-13: 9781484218754
This quick reference is a condensed reference guide to the essential data structures, algorithms, and functions provided by the C++ Standard Library.  More specifically, the C++ Standard Library Quick Reference is a compact collection of essential classes and functions, used by C++ programmers on a daily basis. It features core classes for strings, I/O streams, and various generic containers, as well as a comprehensive set of algorithms to manipulate them. In recent years, the C++11 and C++14 standards have added even more efficient container classes, a new powerful regular expression library, and a portable multithreading library featuring threads, mutexes, condition variables, and atomic variables.Needless to say, it is hard to know and remember all the possibilities, details, and intricacies of this vast and growing library. This handy reference guide is therefore indispensable to any C++ programmer. It offers a condensed, well-structured summary of all essential aspects of the C++ Standard Library, including all aforementioned functionality. No page-long, repetitive examples or obscure, rarely used features. Instead, everything you need to know and watch out for in practice is outlined in a compact, to-the-point style, interspersed with well-chosen, clarifying examples. The book does not explain the C++ language or syntax, but is accessible to anyone with basic C++ knowledge. Even the most experienced C++ programmer though will learn a thing or two from it and find it a useful memory-aid.What You Will Learn• The essentials that the C++ Standard Library has to offer• How to use containers to efficiently store and retrieve your data• How to use algorithms to inspect and manipulate your data• How lambda expressions allow for elegant use of algorithms• What the standard string class provides and how to use it• What functionality the library provides for file and stream-based I/O• What smart pointers are and how to use them to prevent memory leaks• How to write safe and efficient multi-threaded code using the C++11 threading librariesAudienceA secondary audience is developers who are new to C++, but not new to programming, and who want to learn more on the C++ Standard Library in a quick, condensed manner.
About the Authors xv
About the Technical Reviewer xvii
Introduction xix
Chapter 1 Numerics and Math 1(22)
Common Mathematical Functions <cmath>
1(4)
Basic Functions
1(1)
Exponential and Logarithmic Functions
2(1)
Power Functions
2(1)
Trigonometric and Hyperbolic Functions
2(1)
Error and Gamma Functions
3(1)
Integral Rounding of Floating-Point Numbers
3(1)
Floating-Point Manipulation Functions
3(1)
Classification and Comparison Functions
4(1)
Error Handling
5(1)
Fixed-Width Integer Types <cstdint>
5(1)
Arithmetic Type Properties <limits>
5(3)
Complex Numbers <complex>
8(1)
Compile-Time Rational Numbers <ratio>
9(1)
Random Numbers <random>
10(7)
Random Number Generators
10(3)
Random Number Distributions
13(4)
Numeric Arrays <valarray>
17(6)
std::slice
19(1)
std::gslice
20(1)
std::mask_array
21(1)
std::indirect_array
21(2)
Chapter 2 General Utilities 23(28)
Moving, Forwarding, Swapping <utility>
23(3)
Moving
23(2)
Forwarding
25(1)
Swapping
26(1)
Pairs and Tuples
26(2)
Pairs <utility>
26(1)
Tuples ttuplo
27(1)
Relational Operators <utility>
28(1)
Smart Pointers <memory>
28(5)
Exclusive-Ownership Pointers
29(2)
Shared-Ownership Pointers
31(2)
Function Objects <functional>
33(6)
Reference Wrappers
34(1)
Predefined Functors
34(1)
Generic Function Wrappers
35(1)
Binding Function Arguments
36(1)
Functors for Class Members
37(2)
Initializer Lists <initializer_list>
39(1)
Date and Time Utilities <chrono>
39(6)
Durations
40(1)
Time Points
41(1)
Clocks
41(1)
C-style Date and lime Utilities < ctime>
42(3)
C-Style File Utilities <cstdio>
45(1)
Type Utilities
45(6)
Runtime Type Identification <typeinfo> , <typeindex>
45(1)
Type Traits <type_traits>
46(5)
Chapter 3 Containers 51(30)
Iterators <iterator>
51(3)
Iterator Tags
52(1)
Non-Member Functions to Get Iterators
53(1)
Non-Member Operations on Iterators
54(1)
Sequential Containers
54(13)
std::vector <vector>
54(6)
std::deque <deque>
60(1)
std::array <array>
60(1)
std::list and std::forward_list <list> , <forward_list>
61(2)
Sequential Containers Reference
63(3)
std::bitset <bitset>
66(1)
Container Adaptors
67(4)
std::queue <queue>
68(1)
std::priority_queue <queue>
68(1)
std::stack <stack>
69(1)
Example
69(1)
Reference
70(1)
Ordered Associative Containers
71(4)
std::map and std::multimap <map>
71(1)
std::set and std::multiset <set>
72(1)
Searching
72(1)
Order of Elements
73(1)
Complexity
73(1)
Reference
73(2)
Unordered Associative Containers... <unordered_map> , <unordered_set>
75(4)
Hash Map
76(1)
Template Type Parameters
76(1)
Hash Functions
76(1)
Complexity
77(1)
Reference
77(2)
Allocators
79(2)
Chapter 4 Algorithms 81(20)
Input and Output Iterators
81(1)
Algorithms <algorithm>
82(17)
Terminology
82(1)
General Guidelines
82(1)
Applying a Function on a Range
83(1)
Checking for the Presence of Elements
84(1)
Finding Elements
84(1)
Binary Search
85(1)
Subsequence Search
86(1)
Min/Max
87(1)
Sequence Comparison
88(1)
Copy, Move, Swap
88(1)
Generating Sequences
89(1)
Removing and Replacing
90(1)
Reversing and Rotating
91(1)
Partitioning
92(1)
Sorting
93(1)
Shuffling
94(1)
Operations on Sorted Ranges
95(1)
Permutation
96(1)
Heaps
97(1)
Numeric Algorithms <numeric>
98(1)
Iterator Adaptors <iterator>
99(2)
Chapter 5 Stream I/O 101(24)
Input and Output with Streams
101(11)
Helper Types <ios>
102(1)
std::ios_base <ios>
103(2)
I/O Manipulators <ios> , <iomanip>
105(1)
Example
106(1)
std::ios <ios>
106(2)
std::ostream <ostream>
108(2)
std::istream <istream>
110(2)
std::iostream <istream>
112(1)
String Streams <sstream>
112(1)
Example
113(1)
File Streams <fstream>
113(2)
Example
114(1)
operator << and >> for Custom Types
115(1)
Stream Iterators <iterator>
115(2)
std::ostream_iterator
115(1)
std::istream_iterator
116(1)
Stream Buffers <streambuf>
117(1)
C-Style Output and Input <cstdio>
117(8)
std::printf() Family
118(4)
std::scanf() Family
122(3)
Chapter 6 Characters and Strings 125(36)
Strings <string>
125(5)
Searching in Strings
126(1)
Modifying Strings
127(1)
Constructing Strings
128(1)
String Length
128(1)
Copying (Sub)Strings
128(1)
Comparing Strings
129(1)
String Conversions
129(1)
Character Classification <cctype> , <ciatype>
130(1)
Character-Encoding Conversion <locale> , <codecirt>
131(3)
Localization <locale>
134(14)
Locale Names
134(1)
The Global Locale
135(1)
Basic std::locale Members
136(1)
Locale Facets
136(9)
Combining and Customizing Locales
145(2)
C Locales <clocale>
147(1)
Regular Expressions tregen
148(13)
The ECMAScript Regular Expression Grammar
149(4)
Regular Expression Objects
153(2)
Matching and Searching Patterns
155(3)
Match Iterators
158(1)
Replacing Patterns
159(2)
Chapter 7 Concurrency 161(22)
Threads <thread>
161(3)
Launching a New Thread
161(1)
A Thread's Lifetime
162(1)
Thread Identifiers
162(1)
Utility Functions
163(1)
Exceptions
163(1)
Futures <future>
164(4)
Return Objects
164(1)
Providers
165(2)
Exceptions
167(1)
Mutual Exclusion <mutex>
168(6)
Mutexes and Locks
168(2)
Mutex Types
170(1)
Lock Types
171(1)
Locking Multiple Mutexes
172(1)
Exceptions
173(1)
Calling a Function Once <mutex>
173(1)
Condition Variables <condition_variable>
174(2)
Waiting for a Condition
174(1)
Notification
175(1)
Exceptions
176(1)
Synchronization
176(2)
Atomic Operations <atomic>
178(5)
Atomic Variables
178(3)
Atomic Flags
181(1)
Nonmember Functions
181(1)
Fences
182(1)
Chapter 8 Diagnostics 183(12)
Assertions <cassert>
183(1)
Exceptions <exception> , <stdexcept>
184(1)
Exception Pointers <exception>
184(2)
Nested Exceptions <exception>
186(1)
System Errors <system_error>
187(3)
std::error_category
188(1)
std::error_code
188(1)
std::error_condition
189(1)
C Error Numbers <cerrno>
190(1)
Failure Handling <exception>
190(5)
std::uncaught_exception()
190(1)
std::terminate()
191(1)
std::unexpected()
191(4)
Appendix A: Standard Library Headers 195(6)
Numerics and Math (Chapter 1)
195(1)
General Utilities (Chapter 2)
196(1)
Containers (Chapter 3)
197(1)
Algorithms (Chapter 4)
197(1)
Stream I/O (Chapter 5)
198(1)
Characters and Strings (Chapter 6)
199(1)
Concurrency (Chapter 7)
199(1)
Diagnostics (Chapter 8)
200(1)
The C Standard Library
200(1)
Index 201
Marc Gregoire is a software engineer from Belgium. He graduated from the University of Leuven, Belgium, with a degree in Burgerlijk ingenieur in de computer wetenschappen (equivalent to Master of Science in engineering in computer science). The year after, he received the cum laude degree of master in artificial intelligence at the same university. After his studies, Marc started working for a software consultancy company called Ordina Belgium. As a consultant, he worked for Siemens and Nokia Siemens Networks on critical 2G and 3G software running on Solaris for telecom operators. This required working in international teams stretching from South America and USA to EMEA and Asia. Now, Marc is working for Nikon Metrology on industrial 3D laser scanning software. His main expertise is C/C++, and specifically Microsoft VC++ and the MFC framework. He has experience in developing C++ programs running 24x7 on Windows and Linux platforms; for example, KNX/EIB home automation software. Next to C/C++, Marc also likes C# and uses PHP for creating web pages. Since April 2007, he received the yearly Microsoft MVP (Most Valuable Professional) award for his Visual C++ expertise. Marc is the founder of the Belgian C++ Users Group, author of Professional C++ and a member on the CodeGuru forum (as Marc G).









Peter Van Weert is a Belgian software engineer, whose main interests and expertise are programming languages, algorithms, and data structures. He received his master of science in computer science summa cum laude with congratulations of the Board of Examiners from the University of Leuven. In 2010, he completed his PhD thesis on the design and efficient compilation of rule based programming languages at the declarative programming languages and artificial intelligence department of the same university. During his doctoral studies, he was a teaching assistant for object-oriented programming (Java), software analysis and design, and declarative programming. After graduating, Peter joined Nikon Metrology to work on large-scale, industrial application software in the area of 3D laser scanning and point cloud inspection. At Nikon, he has mastered C++, refactoring and debugging very large code bases, and has gained further proficiency in all aspects of the software development process, including the analysis of functional and technical requirements, and agile and scrum-based project and team management. In his spare time, he has co-authored two award-winning Windows 8 apps, and is a regular speaker at and board member of the Belgian C++ Users Group.