The C++ core guidelines have about twenty naming and layout rules. A few of them are obvious; a few of them may be controversial. Let's see, what I mean.
The lifetime safety profile in the C++ core guidelines boils down to one issue: don't dereference a possible invalid pointer. A pointer may be invalid because it is not initialised or the nullptr. A pointer may also point beyond its rage or to a deleted object.
Today's post is about the second profile of the C++ Core Guidelines: Bounds Safety. The goal of the profile bounds safety is that you operate inside the bounds of allocated memory.
What does that mean: type safety by design. Type safety by design just means, that you always initialise your variables, use std::variant instead of a union, or prefer variadic templates and fold expressions to va_arg's.
The C++ core guidelines support three profiles: type safety, bounds safety, and lifetime safety. Thanks to the guideline support library (GSL), you can check your code against these profiles. Today, I start with the profile type safety.
Informally, profiles are a subset of rules of the C++ core guidelines for specific concerns such as type safety, bounds safety, and lifetime safety. Thanks to the guideline support library, they can be checked
Today, I conclude my story to your myths about C++. These myths are around function parameters, the initialisation of class members, and pointer versus references.
I was very curious about your C++ myths. In particular, my German readers were quite active. I got a few E-Mails and observed a vivid discussion on Heise Developer.
Demystifying non-rules and myths in C++ is a laborious but absolutely necessary job. The goal is simple: use the powerful tool C++ appropriately.
Of course, you already know many non-rules and myths about C++. Non-rules and myths which we have to argue against when we use modern C++. The supporting section of the C++ core guidelines addresses the most resistant ones but also provides alternatives.
Hunting
Today 1098
Yesterday 4552
Week 42212
Month 186383
All 11667537
Currently are 149 guests and no members online
Kubik-Rubik Joomla! Extensions
Read more...
Read more...