constexpr Functions

constexpr functions are functions that can be executed at compile time. Sounds not so thrilling. But it is. Trust me. You can perform with constexpr functions a lot of calculations at compile time. Therefore, the result of the calculation is at runtime as a constant in ROM available. In addition, constexpr functions are implicit inline.

Read more
Tags: constexpr
Comments 1Views: 5242

constexpr - Variables and Objects

If you declare a variable as constexpr the compiler will evaluate them at compile time. This holds not only true for built-in types but also for instantiations of user-defined types. There are a few serious restrictions for objects in order to evaluate them at compile time.

 

Read more
Tags: constexpr
Comments 7Views: 5055

Constant Expressions with constexpr

You can define with the keyword constexpr an expression that can be evaluated at compile time. constexpr can be used for variables, functions, and user-defined types. An expression that is evaluated at compile time has a lot of advantages. For example constexpr variables and instances of user-defined types are automatically thread-safe and can be stored in ROM; constexpr functions that are evaluated at compile time, are totally done with their work at run time.

Read more
Tags: constexpr
Comments 2Views: 3140

inline

Thanks to inline the compiler can replace the function call by the function body. There are two reasons to use inline functions: performance and safety.

Read more
Tags: inline
Comments 5Views: 5794

The Null Pointer Constant nullptr

The new null pointer nullptr cleans up in C++ with the ambiguity of the number 0 and the macro NULL.

Read more
Tags: nullptr
Add CommentViews: 6474

override and final

By using the context sensitive keyword override and final you can explicit manage the overriding of virtual functions. In particular, the keyword override solves a lot of issues with difficult to finding bugs in object hierarchies: Methods that should override methods of base classes. The result is a syntactically but not semantically correct program. The program performs the wrong stuff in the right way.

Read more
Comments 2Views: 4173

Strongly-Typed Enums

Enumerations are a convenient way to define integer constants with names. This integer constants are called enumerators. Sadly, classical enums have a few drawbacks.

Read more
Tags: enum
Comments 10Views: 6418

My Newest E-Books

Latest comments

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 114

All 776035

Currently are 245 guests and no members online