Beautiful code #3
Beautiful code #3 Explanation
The above C++ code snippet is very simple but very beautiful one. This code snippet is useful while designing a library that could be installed and used in varieties of hardwares. We check whether a feature is available in the version of C++ installed and then we apply it. If it is not available the macro won’t pass the command in the codebase where it is called.
defined(__has_cpp_attribute) && __has_cpp_attribute(no_unique_address) - This checks whether
__has_cpp_attribute is defined and then uses it to check whether the standard library installed in the system where the library is running has a particular feature. If
[[no_unique_address]] code is supported then the macro applies it in all the code where the macro is called.
[[no_unique_address]] is a C++ 20 feature that is used infront of a
class which is empty. If used we could save 1 byte whenever an object is created for another class that instantiate the object for the empty
class. Not allocating memory for no reason is much needed functionality to develop a well optimized library.
In the above example
Sentinel is declared with
You will also like — More Articles
https://fluentprogrammer.com/beautiful-code-1-using-define-templates-r-value-reference/ https://fluentprogrammer.com/beautiful-code-2-enable_if_t-template-inside-a-template/ https://fluentprogrammer.com/beautiful-code-4-any_of-none_of-all_of/ https://fluentprogrammer.com/beautiful-code-5-for_each-optional/ https://fluentprogrammer.com/beautiful-code-6-copy_if-remove_copy_if-copy-back_inserter/