In 99 % of your use-cases for a sequential container, you are totally fine with a std::array or a std::vector. What? If you don't believe me, read this post.
The rules to the C++ standard library are mainly about containers, strings, and iostreams.
Today, I complete the rules of the C++ core guidelines to source files. They are about header files and namespaces.
The organisation of source files is a topic which is quite seldom addressed in C++. With C++20 we will get modules, but until then we should distinguish between the implementation and the interface of our code.
Due to the same history of C and C++, both languages are closely related. Because neither of them is a subset of the other, you have to know a few rules to mix them.
I assume you saw the additional keywords typename or template used before a name in a template. Me too. Honestly, I was quite surprised. Today's post is about dependent names and various template parameters.
I often teach the basics to templates. Templates are special. Therefore, I encounter many misconceptions which cause surprises. Here are a few of them.
Today, I finish the C++ core guidelines rules to templates with a big surprise for many C++ developers. I write about the specialisation of function templates.
Today, I write about the few remaining rules to templates. Because a collective name is missing, they put the heterogenous rules to templates in the section other. The rules are about best practices but also about surprises.
My mini-series about programming at compile time started with template metaprogramming, continued with the type-traits library, and ends today with constant expressions (constexpr).
Currently are 147 guests and no members online
Kubik-Rubik Joomla! Extensions