Saya tahu tentang fungsi yang dihasilkan kompiler, aturan tiga dan aturan lima. Dalam skenario dunia nyata, mungkin tidak sepele untuk mencari tahu persis mana fungsi yang dihasilkan kompiler (konstruktor, operator penugasan, destruktor) yang sebenarnya dibuat oleh kompiler.
Apakah ada cara untuk membuat daftar fungsi yang dihasilkan kompiler untuk kelas tertentu?
Saya terutama tertarik pada Visual Studio 2019 dan Xcode, tetapi solusi generik akan lebih diterima.
Tentu saja ada. Di Linux (dan sistem Unix lainnya) Anda dapat menggunakan
nm
,readelf
danobjdump
pada file objek yang dihasilkan / perpustakaan / executable untuk membongkar mereka dan memeriksa simbol yang diekspor (dan banyak lagi).Ada alat serupa di Windows , saya tahu, tapi itu bukan platform tempat saya bekerja, jadi sayangnya saya tidak bisa menyebutkan nama alat yang tepat di sana.
sumber
Saat ini hanya sebagian jawaban.
Visual Studio 2019
Konstruktor
Ketika mendefinisikan objek kelas, fungsi IntelliSense Visual Studio menunjukkan konstruktor yang tersedia, baik yang dihasilkan kompiler dan Anda sendiri:
Sayangnya, informasi ini tidak selalu muncul. Untuk membuatnya berfungsi untuk tangkapan layar di atas, saya harus mengetikkan sesuatu di dalam tanda kurung, karenanya koma.
sumber