The C++ programming language is undergoing continuous development and improvement. This effort to keep C++ on the cutting edge of language features is driven by the fact that C++ still finds an important role to play in high-performance, portable applications. Few other languages can be used on as many platforms as C++ and without having a run time environment dependency. This is partly thanks to the nature of C++ as a compiled programming language. C++ programs are built into application binaries through a combination of processes that include compiling and linking.
Compiler choice is particularly important in today’s C++ landscape, thanks to the rate at which the language is changing. Development of the C++ programming language was started by Bjarne Stoustrup in 1979, when it was called C with Classes. The language didn’t see formal standardization until 1998; an updated standard was published in 2003. There was another gap of eight years until the standard was updated again with the introduction of C++11 in 2011. This version brought a considerable number of updates to the C++ programming language and is distinguished from “older” C++ with the Modern C++ moniker. A further, less significant, update to the C++ standard was introduced in late 2014, but we haven’t yet begun to see compilers that support many of the features added to Modern C++.
This book introduces you to code written specifically for the C++14 standard using the Clang compiler. Clang is an open source compiler that started life as a closed source Apple project. Apple released the code to the open source community in 2007, and the compiler has been adding strengths ever since. This book explains how to install and use Clang on a computer running OS X, Windows, or Linux (Ubuntu). The examples that accompany each chapter have been compiled and tested using Clang 3.5. I chose Clang for this project because it’s the compiler that provided support for the most C++14 features when I began to write this book.
|Cpp Recipes A Problem Solution Approach.pdf||Download|