Maison > Article > développement back-end > Pourquoi la bibliothèque standard de C n'offre-t-elle pas une version non atomique de `std::shared_ptr` ?
L'équivalent non atomique de std::shared_ptr
Question :
Y a-t-il une alternative à std::shared_ptr qui n'a pas son atomicité inhérente ? De plus, pourquoi la bibliothèque standard C n'inclut-elle pas d'option non atomique ?
Réponse :
1. Disponibilité d'alternatives non atomiques :
La bibliothèque standard C n'offre pas de variante non atomique de std::shared_ptr. Cependant, des bibliothèques tierces peuvent fournir de telles implémentations. Avant l'introduction de std::shared_ptr dans C 11, de nombreux développeurs créaient leurs propres pointeurs intelligents comptés par référence, offrant potentiellement des options non atomiques.
2. Justification d'Atomic std::shared_ptr dans C 11 :
Au cours du processus de standardisation C 11, la proposition d'inclure une version non atomique de std::shared_ptr a été examinée et finalement rejetée. Les arguments suivants ont influencé cette décision :
Version non atomique proposée :
Malgré le rejet dans C 11, il peut y avoir eu des propositions pour un non- version atomique de std::shared_ptr soumise à Boost ou au comité des normes. Cependant, ces propositions n'ont pas obtenu un soutien suffisant pour être incluses dans la norme officielle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!