I know about compiler-generated functions, the rule of three and the rule of five. In real-world scenarios, it may not be trivial to figure out exactly which of the compiler-gen
The rules are complicated. I will steal from another answer which quotes a table from Howard Hinnant's presentation.
The moral here is that a good practice is to not rely on compiler implicit declares and explicitly declare every special member (as defaulted or deleted, depending on your needs)
"Is there any way to list the compiler-generated functions for a specific class?"
Of course there is. On Linux (and other Unix systems) you can use nm
, readelf
and objdump
on the generated object files/libraries/executable to disassemble them and inspect any exported symbols (and much more).
There are similar tools on Windows, I know, but that's not a platform I work much with, so unfortunately I cannot name exact tool names there.