Not specifically "modern" C++ but this remembers me of this handmade chat
(starting at 22'40) where Casey was asked about the Curiously Recurring Template Pattern and went on to implement a simple polymorphic copy function in four different ways (tagged union, RTTI, virtual functions and CRTP) showing how the C++ approaches resulted in much more convoluted code (although a C++ evangelist could surely argue that is biased)
There are two papers that come to my mind : this one
is about energy efficiency across programming languages, and this one
is about the usability of the factory pattern.
That said, there's not many serious studies on those issues because they are inherently difficult. There are objective metrics like speed and space that you can measure, but even then you are testing the programmers participating in the survey at least as much as the language. And then you have complex and partly subjective notions like maintainability, readability, etc., for which one can only find proxy metrics. You could e.g. count the number of bugs in a given project. But then, you only count the number of bugs found
. And do easy bugs (like e.g. off-by-one) count as much as tricky ones (e.g. concurrency bugs manifesting only once in a while) ? ... So it is very easy to fall into biases or test the wrong thing. We are almost in social studies land, rather than computer science, and the difficulty to make this two disciplines work together is a big problem. But I wish there were more studies about programming practices.