Mengapa C Tidak Mempunyai `std::shared_ptr` Bukan Atom?

Linda Hamilton
Lepaskan: 2024-11-01 01:21:02
asal
784 orang telah melayarinya

 Why Doesn't C   Have a Non-Atomic `std::shared_ptr`?

Setara Bukan Atom std::shared_ptr dan Mengapa Ia Tiada dalam

std::shared_ptr telah mendapat perhatian sebagai penunjuk pintar pemilikan bersama yang bertambah dan berkurang secara atom. Walau bagaimanapun, timbul persoalan sama ada kesetaraan bukan atom wujud.

1. Pilihan Alternatif Bukan Atom

Walaupun pemeriksaan menyeluruh terhadap pengepala, tiada setara bukan atom std::shared_ptr mudah diakses. Walau bagaimanapun, terdapat penyelesaian di luar standard.

2. Mengapa Non-Atomic std::shared_ptr Tidak Termasuk dalam C 11

Ketiadaan versi bukan atom dalam C 11 berpunca daripada perbincangan yang diadakan semasa mesyuarat Rapperswil pada tahun 2010.

Sebab Menentang Pilihan Bukan Atom:

  • Isu berpotensi apabila kod ditulis tanpa atomicity kemudiannya digunakan dengan benang, yang membawa kepada cabaran penyahpepijatan.
  • Kelebihan mempunyai shared_ptr universal dengan gelagat yang konsisten merentas perpustakaan.
  • Impak prestasi minimum atomicity, yang dikurangkan oleh pembinaan pergerakan yang cekap dan operasi penugasan alih.
  • Ketersediaan perkongsian bukan atom tersuai petunjuk jika diperlukan.

Berdasarkan hujah ini, Kumpulan Kerja Bahasa (LWG) memutuskan untuk tidak memperkenalkan varian bukan atom shared_ptr dalam C 11.

Atas ialah kandungan terperinci Mengapa C Tidak Mempunyai `std::shared_ptr` Bukan Atom?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!