Skip to Content
Advanced C++ Programming Cookbook
book

Advanced C++ Programming Cookbook

by Dr. Rian Quinn
January 2020
Intermediate to advanced
454 pages
11h 25m
English
Packt Publishing
Content preview from Advanced C++ Programming Cookbook

Global variables

One of the biggest limitations with header-only libraries is that, prior to C++17, there was no way to create global variables. Although global variables should be avoided whenever possible, there are situations where they are needed. To demonstrate this, let's create a simple API that outputs to stdout as follows:

#ifndef MY_LIBRARY#define MY_LIBRARY#include <iostream>#include <iomanip>namespace library_name{    void my_api(bool show_hex = false)    {        if (show_hex) {            std::cout << std::hex << "The answer is: " << 42 << '\n';        }        else {            std::cout << std::dec << "The answer is: " << 42 << '\n';        }    }}#endif

The preceding example creates an API that will output to stdout. If the API is executed with true instead of the default false

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Modern C++ Programming Cookbook

Modern C++ Programming Cookbook

Marius Bancila

Publisher Resources

ISBN: 9781838559915Supplemental Content