What language features do professional C++ developers miss when working with C#?
"I know of C# quite well but they are things that are missing (and quite the important ones) that are in C++" - by Baptiste E. Prunier via a Group Chat I've often wondered about such things that are missing from C# which can be found in C++. A few items I'm aware of, but haven't experienced as limitations are as follows: 1. As powerful as generics are in C#, I've heard that templates in C++ are a bit more capable. I've just not explored the limitations of generics compared to C++ templates in real world software development. 2. In languages that only support single inheritance, composition has taken favor over inheritance. I've wondered if modern C++ projects favor multiple inheritance or composition. 3. While C# does support accessing and manipulating pointers when compiled as unsafe (as in unmanaged), I've often wondered where C# pointers fall short compared to modern C++ development needs. Are there any other items that come to mind and how do these rank as short comings for C++ devs?