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).
The type-traits library supports type checks, type comparisons, and type modifications at compile time. Right! Today, I write about type modifications at compile time.
My journey through programming at compile time began in the last posts with template metaprogramming. Today, I jump from C++98 to C++11. This is a jump to the type-traits library which is template metaprogramming in a standardised way.
Currently are 145 guests and no members online
Kubik-Rubik Joomla! Extensions