Mengapakah `std::move` dinamakan `std::move`?

Barbara Streisand
Lepaskan: 2024-11-25 14:50:11
asal
258 orang telah melayarinya

Why is `std::move` named `std::move`?

Mengapa std::move dinamakan std::move?

Walaupun fungsi std::move(x) tidak menggerakkan apa-apa secara fizikal, ia bertindak sebagai pelakon kepada nilai. Keputusan penamaan ini dibuat untuk meningkatkan kebolehbacaan kod.

Dalam perbincangan terdahulu tentang rujukan nilai, "move" gula sintaks telah diperkenalkan untuk menyampaikan maksud di sebalik pemutus, khususnya untuk membolehkan semantik bergerak. Penamaan ini menggantikan "cast_to_rvalue" yang lebih teknikal, yang mungkin menimbulkan persoalan tentang tujuannya.

Dengan menggunakan "move", kod tersebut secara jelas menunjukkan niat untuk berpindah dari sebelah kanan dan bukannya menyalin daripadanya, tanpa perlu memahami butiran pelaksanaan khusus.

Mekanisme asas std::move ialah hantaran kepada nilai x, tetapi impak utamanya ialah semasa kompilasi, di mana ia mungkin mempengaruhi pemilihan beban lampau yang sesuai berdasarkan kehadiran operator penugasan pindah. Pada masa jalan, std::move hilang sepenuhnya, tidak mempunyai kesan ketara pada kod objek untuk objek mudah alih yang remeh.

Atas ialah kandungan terperinci Mengapakah `std::move` dinamakan `std::move`?. 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