Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Pembina Pindah dan Operator Tugasan Dijana Secara Tersirat dalam C?
Penjanaan Tersirat Operasi Perpindahan dalam C
Dalam draf awal piawaian C 11, terdapat perdebatan mengenai penjanaan perpindahan tersirat pembina dan pengendali tugasan. Ini disebabkan oleh kebimbangan tentang kemungkinan implikasi prestasi dan keinginan untuk memberikan lebih kawalan kepada pengaturcara ke atas operasi ini.
Spesifikasi Semasa
Spesifikasi semasa (N3225) menyatakan bahawa pembina alih dan pengendali tugasan akan secara tersirat diisytiharkan sebagai lalai jika:
Menangani Isu
Walaupun gelagat lalai telah berubah dari semasa ke semasa, terdapat beberapa cara untuk menangani kekurangan operasi pergerakan tersirat dalam penyusun lama:
Tambahan Pertimbangan
Adalah penting untuk ambil perhatian bahawa melaksanakan semantik bergerak menghapuskan keperluan untuk fungsi ahli swap. Selain itu, pembina bergerak dan pengendali tugasan hanya boleh digunakan apabila kelas mengurus sumbernya sendiri, seperti memori yang diperuntukkan secara dinamik. Untuk kelas yang mengandungi jenis POD dan bekas STL semata-mata, semantik salinan lalai biasanya mencukupi.
Atas ialah kandungan terperinci Bagaimanakah Pembina Pindah dan Operator Tugasan Dijana Secara Tersirat dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!