One more nasty design of C++'s name lookup

As we all know that C++’s name lookup has always been extremely counter-intuitive. The infamous argument-dependent lookup (ADL), for example, often leads to unexpected behavior and, worse yet, is often difficult to troubleshoot. This can happen when you define a function in your current namespace, but when you call it the compiler selects another function with the same name thousands of miles away, even though you did not using that foreign function in the current namespace....

June 23, 2021 · QuarticCat

How to read C++ types

The readability of C++’s types is terrible, and most beginner tutorials don’t go into detail about how to read them. They at most discuss the difference between top-level const and low-level const. Many of my friends have asked me about this, and I’ve talked about it numerous times. So I thought, why not write a blog post on it? A common misconception Before talking about type reading in detail, I’d like to address a common misconception....

February 13, 2021 · QuarticCat