Rumah > pembangunan bahagian belakang > C++ > Apakah Operasi yang Dibenarkan pada Objek Pindah Dari C?

Apakah Operasi yang Dibenarkan pada Objek Pindah Dari C?

Patricia Arquette
Lepaskan: 2025-01-01 14:08:10
asal
834 orang telah melayarinya

What Operations Are Allowed on Moved-From C   Objects?

Operasi Dibenarkan pada Objek Dialih-Dari

Piawaian C mentakrifkan tindakan yang dibenarkan dengan objek yang telah dialihkan. Objek ini dianggap dalam keadaan tidak ditentukan, membenarkan julat operasi yang terhad.

Rujukan Standard

Bahagian 17.6.5.15 [lib.types.movedfrom] daripada keadaan piawai yang dipindahkan-daripada objek "hendaklah diletakkan dalam sah tetapi tidak ditentukan keadaan."

Operasi Tidak Terhad

Objek dalam keadaan yang tidak ditentukan boleh menjalani operasi yang tidak mempunyai prasyarat. Contoh biasa termasuk:

  • Pemusnahan
  • Tugasan
  • Pemerhati berterusan (cth., dapatkan, kosong, saiz)

Operasi Terhad

Operasi dengan prasyarat, seperti penyahrujukan atau pop_back, tidak boleh dilakukan secara langsung pada objek yang dialihkan daripada objek, kerana keadaan objek yang tidak ditentukan mungkin tidak memenuhi keperluan yang diperlukan.

Contoh: std::swap

Templat fungsi swap contoh bergantung pada tugasan untuk dialihkan daripada objek (baris 2 dan 3). Ini sah kerana tugasan ialah operasi tidak terhad.

Sintaks Pembina Alternatif

Mengenai baris 1, penggunaan T c = std::move(a) ; bukannya T c(std::move(a)); adalah atas sebab kecekapan. Permulaan langsung memerlukan panggilan pembina salinan, manakala tugasan tidak.

Atas ialah kandungan terperinci Apakah Operasi yang Dibenarkan pada Objek Pindah Dari C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan