Sams Teach Yourself
In just one hour a day, you’ll have all the skills you need to begin programming in C++. With this complete tutorial, you’ll quickly master the basics, and then move on to more advanced features and concepts. Completely updated for the C++14 standard, with a preview of C++17, this book presents the language more » from a practical point of view, helping you learn how to use C++ to create faster, simpler, and more efficient C++ applications.
* Master the fundamentals of C++ and object-oriented programming
* Understand how C++ features help you write compact and efficient code using concepts such as lambda expressions, move constructors, and assignment operators
* Learn best practices and avoid pitfalls via useful Do’s and Don’ts
* Learn the Standard Template Library, including containers and algorithms used in most real-world C++ applications
* Test your knowledge and expertise with exercises at the end of every lesson
Learn on your own time, at your own pace
* No previous programming experience required
* Write fast and powerful C++ programs, compile the source code, and create executable files
* Learn object-oriented programming concepts such as encapsulation, abstraction, inheritance, and polymorphism
* Use the Standard Template Library’s algorithms and containers to write feature-rich yet stable C++ applications
* Learn how automatic type deduction helps simplify C++ code
* Develop sophisticated programming techniques using lambda expressions, smart pointers, and move constructors
* Master the features of C++ by learning from programming experts
* Learn C++ features that allow you to program compact and high-performance C++ applications
* Preview what’s new in C++17
Contents at a Glance
Part I: The Basics
Lesson 1: Getting Started
Lesson 2: The Anatomy of a C++ Program
Lesson 3: Using Variables, Declaring Constants
Lesson 4: Managing Arrays and Strings
Lesson 5: Working with Expressions, Statements, and Operators
Lesson 6: Controlling Program Flow
Lesson 7: Organizing Code with Functions
Lesson 8: Pointers and References Explained
Part II: Fundamentals of Object-Oriented C++ Programming
Lesson 9: Classes and Objects
Lesson 10: Implementing Inheritance
Lesson 11: Polymorphism
Lesson 12: Operator Types and Operator Overloading
Lesson 13: Casting Operators
Lesson 14: An Introduction to Macros and Templates
Part III: Learning the Standard Template Library (STL)
Lesson 15: An Introduction to the Standard Template Library
Lesson 16: The STL String Class
Lesson 17: STL Dynamic Array Classes
Lesson 18: STL list and forward_list
Lesson 19: STL Set Classes
Lesson 20: STL Map Classes
Part IV: More STL
Lesson 21: Understanding Function Objects
Lesson 22: Lambda Expressions
Lesson 23: STL Algorithms
Lesson 24: Adaptive Containers: Stack and Queue
Lesson 25: Working with Bit Flags Using STL
Part V: Advanced C++ Concepts
Lesson 26: Understanding Smart Pointers
Lesson 27: Using Streams for Input and Output
Lesson 28: Exception Handling
Lesson 29: Going Forward
Part VI: Appendixes
Appendix A: Working with Numbers: Binary and Hexadecimal
Appendix B: C++ Keywords
Appendix C: Operator Precedence
Appendix D: ASCII Codes
Appendix E: Answers « less
C++ Recipes: A Problem-Solution Approach is a handy code cookbook reference guide that cover the latest C++ 14 as well as some of the code templates available in the latest Standard Template Library (STL).
In this handy reference, you'll find numbers, strings, dates, times, classes, exceptions, streams, more » flows, pointers and more. Also, you'll see various code samples, templates for C++ algorithms, parallel processing, multithreading and numerical processes. These have many applications including game development, big data analytics, financial engineering and analysis, enterprise applications and more. A wealth of STL templates on function objects, adapters, allocators, and extensions are also available.
This is a "must have", contemporary reference for your technical library.
**** What you’ll learn ****
* How to handle numbers, strings, text, dates and times, and data in general
* How to implement a variety of C++ algorithms
* How to handle and use classes, exceptions, streams and flows
* How to build parallel processing C++ templates
* How to code for pointers
* How to leverage the wealth of C++ templates found in the STL, including function objects, adapters, allocators and more
* How to extend the STL and more
**** Who this book is for ****
This book is for those with at least some experience with C++ and certainly experience with programming in general.
**** Table of Contents ****
1. Beginning C++
2. Modern C++
3. Working with Text
4. Working with Numbers
7. The STL Containers
8. The STL Algorithms
14. 3D Graphics Programming « less
Practical C++ Financial Programming is a hands-on book for programmers wanting to apply C++ to programming problems in the financial industry. The book explains those aspects of the language that are more frequently used in writing financial software, including the STL, templates, and various numerical more » libraries. The book also describes many of the important problems in financial engineering that are part of the day-to-day work of financial programmers in large investment banks and hedge funds. The author has extensive experience in the New York City financial industry that is now distilled into this handy guide.
Focus is on providing working solutions for common programming problems. Examples are plentiful and provide value in the form of ready-to-use solutions that you can immediately apply in your day-to-day work. You’ll learn to design efficient, numerical classes for use in finance, as well as to use those classes provided by Boost and other libraries. You’ll see examples of matrix manipulations, curve fitting, histogram generation, numerical integration, and differential equation analysis, and you’ll learn how all these techniques can be applied to some of the most common areas of financial software development. These areas include performance price forecasting, optimizing investment portfolios, and more. The book style is quick and to-the-point, delivering a refreshing view of what one needs to master in order to thrive as a C++ programmer in the financial industry. « less
Controllers, Software, Programming, Data
Totally Integrated Automation is the concept by means of which SIMATIC controls machines, manufacturing systems and technical processes. Taking the example of the SIMATIC S7 programmable controller, this book provides a comprehensive introduction to the architecture and operation of a state-of-the-art more » automation system. It also gives an insight into configuration and parameter setting for the controller and the distributed I/O. Communication via network connections is explained, along with a description of the available scope for operator control and monitoring of a plant.
The new engineering framework TIA Portal combines all the automation software tools in a single development environment. Inside the TIA Portal, SIMATIC STEP 7 Professional V11 is the comprehensive engineering package for SIMATIC controllers. As the central engineering tool, STEP 7 manages all the necessary tasks, supports programming in the IEC languages LAD, FBD, STL, S7-SCL and S7-GRAPH, and also contains S7-PLCSIM for offline tests.
As well as updating the previously-depicted components, this edition also presents new SIMATIC S7-1200 hardware components for PROFIBUS and PROFINET. In addition to the STEP 7 V5.5 engineering software, now STEP 7 Professional V11 is also described, complete with its applications inside TIA Portal.
The book is ideally suited to all those, who, despite little previous knowledge, wish to familiarize themselves with the topic of programmable logic controllers and the architecture and operation of automation systems. « less
Configuring, Programming and Testing with STEP 7 Professional
This book presents a comprehensive description of the configuration of devices and network for the S7-400 components inside the engineering framework TIA Portal. You learn how to formulate and test a control program with the programming languages LAD, FBD, STL, and SCL. The book is rounded off by configuring more » the distributed I/O with PROFIBUS DP and PROFINET IO using SIMATIC S7-400 and data exchange via Industrial Ethernet.
SIMATIC is the globally established automation system for implementing industrial controllers for machines, production plants and processes. SIMATIC S7-400 is the most powerful automation system within SIMATIC. This process controller is ideal for data-intensive tasks that are especially typical for the process industry. With superb communication capability and integrated interfaces it is optimized for larger tasks such as the coordination of entire systems.
Open-loop and closed-loop control tasks are formulated with the STEP 7 Professional V11 engineering software in the field-proven programming languages Ladder Diagram (LAD), Function Block Diagram (FBD), Statement List (STL), and Structured Control Language (SCL). The TIA Portal user interface is tuned to intuitive operation and encompasses all the requirements of automation within its range of functions: from configuring the controller, through programming in the different languages, all the way to the program test.
Users of STEP 7 Professional V12 will easily get along with the descriptions based on the V11. With start of V12, the screens of the technology functions might differ slightly from the V11. « less
Your Ultimate "How-To" Guide to C++ Programming!
Legendary programming author Herb Schildt shares some of his favorite programming techniques in this high-powered C++ "cookbook." Organized for quick reference, each "recipe" shows how to accomplish a practical programming task. A recipe begins with more » a list of key ingredients (classes, functions, and headers) followed by step-by-step instructions that show how to assemble them into a complete solution. Detailed discussions explain the how and why behind each step, and a full code example puts the recipe into action. Each recipe ends with a list of options and alternatives that suggest ways to adapt the technique to fit a variety of situations. Whether you're a beginner or an experienced pro, you'll find recipes that are sure to satisfy your C++ programming appetite!
String Handling · Standard Template Library (STL) Containers · Algorithms · Function Objects · Binders · Negators · Adaptors · Iterators · I/O · Formatting Data
Learn how to:
* Tokenize a null-terminated string
* Create a search and replace function for strings
* Implement subtraction for string objects
* Use the vector, deque, and list sequence containers
* Use the container adaptors stack, queue, and priority_queue
* Use the map, multimap, set, and multiset associative containers
* Reverse, rotate, and shuffle a sequence
* Create a function object
* Use binders, negators, and iterator adapters
* Read and write files
* Use stream iterators to handle file I/O
* Use exceptions to handle I/O errors
* Create custom inserters and extractors
* Format date, time, and numeric data
* Use facets and the localization library
* Overload the [ ], ( ), and -> operators
* Create an explicit constructor
* And much, much more « less
Building Mac OS X, Linux, and Windows Applications
Cross-Platform Development in C++ is the definitive guide to developing portable C/C++ application code that will run natively on Windows, Macintosh, and Linux/Unix platforms without compromising functionality, usability, or quality.
Long-time Mozilla and Netscape developer Syd Logan systematically more » addresses all the technical and management challenges associated with software portability from planning and design through coding, testing, and deployment. Drawing on his extensive experience with cross-platform development, Logan thoroughly covers issues ranging from the use of native APIs to the latest strategies for portable GUI development. Along the way, he demonstrates how to achieve feature parity while avoiding the problems inherent to traditional cross-platform development approaches.
This book will be an indispensable resource for every software professional and technical manager who is building new cross-platform software, porting existing C/C++ software, or planning software that may someday require cross-platform support.
Build Cross-Platform Applications without Compromise
Throughout the book, Logan illuminates his techniques with realistic scenarios and extensive, downloadable code examples, including a complete cross-platform GUI toolkit based on Mozilla’s XUL that you can download, modify, and learn from. Coverage includes
* Policies and procedures used by Netscape, enabling them to ship Web browsers to millions of users on Windows, Mac OS, and Linux
* Delivering functionality and interfaces that are consistent on all platforms
* Understanding key similarities and differences among leading platform-specific GUI APIs, including Win32/.NET, Cocoa, and Gtk+
* Determining when and when not to use native IDEs and how to limit their impact on portability
* Leveraging standards-based APIs, including POSIX and STL
* Avoiding hidden portability pitfalls associated with floating point, char types, data serialization, and types in C++
* Utilizing platform abstraction libraries such as the Netscape Portable Runtime (NSPR)
* Establishing an effective cross-platform bug reporting and tracking system
* Creating builds for multiple platforms and detecting build failures across platforms when they occur
* Understanding the native runtime environment and its impact on installation
* Utilizing wxWidgets to create multi-platform GUI applications from a single code base
* Thoroughly testing application portability
* Understanding cross-platform GUI toolkit design with Trixul « less
50 Specific Ways to Improve Your Use of the Standard Template Library
“This is Effective C++ volume three – it’s really that good.”
– Herb Sutter, independent consultant and secretary of the ISO/ANSI C++ standards committee “There are very few books which all C++ programmers must have. Add Effective STL to that list.”
– Thomas Becker, Senior Software Engineer, Zephyr more » Associates, Inc., and columnist, C/C++ Users Journal C++’s Standard Template Library is revolutionary, but learning to use it well has always been a challenge. Until now. In this book, best-selling author Scott Meyers ( Effective C++ , and More Effective C++ ) reveals the critical rules of thumb employed by the experts – the things they almost always do or almost always avoid doing – to get the most out of the library.
Other books describe what’s in the STL. Effective STL shows you how to use it. Each of the book’s 50 guidelines is backed by Meyers’ legendary analysis and incisive examples, so you’ll learn not only what to do, but also when to do it – and why.
Highlights of Effective STL include:
* Advice on choosing among standard STL containers (like vector and list), nonstandard STL containers (like hash_set and hash_map), and non-STL containers (like bitset).
* Techniques to maximize the efficiency of the STL and the programs that use it.
* Insights into the behavior of iterators, function objects, and allocators, including things you should not do.
* Guidance for the proper use of algorithms and member functions whose names are the same (e.g., find), but whose actions differ in subtle (but important) ways.
* Discussions of potential portability problems, including straightforward ways to avoid them.
Like Meyers’ previous books, Effective STL is filled with proven wisdom that comes only from experience. Its clear, concise, penetrating style makes it an essential resource for every STL programmer. « less
C++ Programming with the Standard Template Library, 2nd Edition
"The second edition is clearer and adds more examples on how to use STL in a practical environment. Moreover, it is more concerned with performance and tools for its measurement. Both changes are very welcome."
--Lawrence Rauchwerger, Texas A&M University "So many algorithms, so little time! The generic more » algorithms chapter with so many more examples than in the previous edition is delightful! The examples work cumulatively to give a sense of comfortable competence with the algorithms, containers, and iterators used."
--Max A. Lebow, Software Engineer, Unisys Corporation The STL Tutorial and Reference Guide is highly acclaimed as the most accessible, comprehensive, and practical introduction to the Standard Template Library (STL). Encompassing a set of C++ generic data structures and algorithms, STL provides reusable, interchangeable components adaptable to many different uses without sacrificing efficiency. Written by authors who have been instrumental in the creation and practical application of STL, STL Tutorial and Reference Guide, Second Edition includes a tutorial, a thorough description of each element of the library, numerous sample applications, and a comprehensive reference.
You will find in-depth explanations of iterators, generic algorithms, containers, function objects, and much more. Several larger, non-trivial applications demonstrate how to put STL's power and flexibility to work. This book will also show you how to integrate STL with object-oriented programming techniques. In addition, the comprehensive and detailed STL reference guide will be a constant and convenient companion as you learn to work with the library.
This second edition is fully updated to reflect all of the changes made to STL for the final ANSI/ISO C++ language standard. It has been expanded with new chapters and appendices. Many new code examples throughout the book illustrate individual concepts and techniques, while larger sample programs demonstrate the use of the STL in real-world C++ software development. An accompanying Web site, including source code and examples referenced in the text, can be found at http://www.cs.rpi.edu/~musser/stl-book/index.html. « less
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 more » 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. « less