Lecture Slides for Programming in C++ (Version 2019-02-04)

The C++ Language, Libraries, Tools, and Other Topics

Author: Michael D. Adams

Publisher: Michael Adams

ISBN: 1550586416

Category:

Page: 2516

View: 8466

DOWNLOAD NOW »

This document, which consists of approximately 2500 lecture slides, offers a wealth of information on many topics relevant to programming in C++, including coverage of the C++ language itself, the C++ standard library and a variety of other libraries, numerous software tools, and an assortment of other programming-related topics. The coverage of the C++ language and standard library is current with the C++17 standard. C++ PROGRAMMING LANGUAGE. Many aspects of the C++ language are covered from introductory to more advanced. This material includes: the preprocessor, language basics (objects, types, values, operators, expressions, control-flow constructs, functions, and namespaces), classes, templates (function, class, variable, and alias templates, variadic templates, template specialization, and SFINAE), lambda expressions, inheritance (run-time polymorphism and CRTP), exceptions (exception safety and RAII), smart pointers, memory management (new and delete operators and expressions, placement new, and allocators), rvalue references (move semantics and perfect forwarding), concurrency (memory models, and happens-before and synchronizes-with relationships), compile-time computation, and various other topics (e.g., copy elision and initialization). C++ STANDARD LIBRARY AND VARIOUS OTHER LIBRARIES. Various aspects of the C++ standard library are covered including: containers, iterators, algorithms, I/O streams, time measurement, and concurrency support (threads, mutexes, condition variables, promises and futures, atomics, and fences). A number of Boost libraries are discussed, including the Intrusive, Iterator, and Container libraries. The OpenGL library and GLSL are discussed at length, along with several related libraries, including: GLFW, GLUT, and GLM. The CGAL library is also discussed in some detail. SOFTWARE TOOLS. A variety of software tools are discussed, including: static analysis tools (e.g., Clang Tidy and Clang Static Analyzer), code sanitizers (e.g., ASan, LSan, MSan, TSan, and UBSan), debugging and testing tools (e.g., Valgrind, LLVM XRay, and Catch2), performance analysis tools (e.g., Perf, PAPI, Gprof, and Valgrind/Callgrind), build tools (e.g., CMake and Make), version control systems (e.g., Git), code coverage analysis tools (e.g., Gcov, LLVM Cov, and Lcov), online C++ compilers (e.g., Compiler Explorer and C++ Insights), and code completion tools (e.g., YouCompleteMe, and LSP clients/servers).
Release

Computer Science

An Overview

Author: J. Glenn Brookshear

Publisher: Addison-Wesley

ISBN: N.A

Category: Business & Economics

Page: 599

View: 4100

DOWNLOAD NOW »

Now in its ninth edition, this book continues to provide acomprehensive, accessible, and up-to-date introduction to the dynamicfield of computer science using a breadth-first approach. This bookpresents an introductory survey of computer science. It explores thebreadth of the subject while including enough depth to convey anhonest appreciation for the topics involved. The new edition includesreorganization of some key material for enhanced clarity (SoftwareEngineering and Artificial Intelligence chapters), new and expandedmaterial on Security and Data Abstractions, more on ethics anddifferent ethical theories in Chapter 0. Anyone interested in gaining athorough introduction to Computer Science.
Release

Data Abstraction and Problem Solving With C++

Walls and Mirrors

Author: Frank M. Carrano,Janet J. Prichard

Publisher: Addison-Wesley

ISBN: 9780321247254

Category: Computers

Page: 968

View: 426

DOWNLOAD NOW »

This classic book has been revised to further enhance its focus on data abstraction and data structures using C++. In this new edition, the clarity of the C++ language is enhanced, along with coverage of the latest C++ features, including stronger use of the Standard Template Library. This edition continues with Frank Carrano's lucid writing style, widespread use of examples, and flexible coverage of important topics.
Release

The Essence of Data Structures Using C++

Author: Ken Brownsey

Publisher: Pearson Education

ISBN: 9780139488863

Category: Computers

Page: 267

View: 5559

DOWNLOAD NOW »

For first course in data structures or an intro to programming courses that want a brief treatment of data structures. This brief book contains all the essential topics of a data structure course. Using C++ as the data implementation language, the text puts the theory of data structures and ADTs in the context of practicle usage. It meets the needs of students who want an overview of the subject and can wait for a more detailed understanding.
Release

Algorithms

Sequential, Parallel, and Distributed

Author: Kenneth A. Berman,Jerome L. Paul

Publisher: Course Technology Ptr

ISBN: N.A

Category: Computers

Page: 962

View: 1621

DOWNLOAD NOW »

Provides in-depth coverage of traditional and current topics in sequential algorithms, and also gives a solid introduction to the theory of parallel and distributed algorithms reflecting the emergence of modern computing environments such as parallel computers, the Internet, cluster and grid computing.
Release