SORU
26 NİSAN 2012, PERŞEMBE


Neden C kütüphaneler ve çerçeveler hiç akıllı işaretçileri kullanmak mı?

Ham işaretçiler neredeyse hiç kullanılması gereken birkaç makale okudum. Bunun yerine her zaman veya işaretçiler kapsamlı paylaşılan olsun akıllı işaretçiler içine sarılmış olmalılar.

Ancak, eğer onları kullanıyorlarmış gibi asla geri Destek ne de akıllı işaretçiler beklemek gibi Qt, işinize yarayacak ve kütüphaneler gibi çerçeveler fark ettim. Bunun yerine, onlar dönüş veya çiğ işaretçiler bekliyoruz. Bunun için herhangi bir sebep var mı? Ortak bir API yazıyorum, niçin ve akıllı işaretçiler uzak durmalı mıyım?

Akıllı işaretçiler neden sadece merak çok büyük projeler bunları önlemek gibi görünüyor, tavsiye.

CEVAP
26 NİSAN 2012, PERŞEMBE


Birçok kütüphane standart akıllı işaretçiler gelişiyle önce yazılmış olması dışında, en büyük nedeni muhtemelen standart bir C ABİ eksikliğidir.

Eğer başlık-sadece kütüphane yazıyorsanız, doya akıllı işaretçiler ve standart konteyner oyna. Kaynak derleme zamanında kütüphane için kullanılabilir, onların arayüzleri istikrarı tek başına, kendi uygulamalarında değil güveniyor.

Ama standart bir ABİ eksikliği nedeniyle, genellikleolamazgüvenle modülü sınırlarında bu nesneleri geçirir. Bir GCC 0* *muhtemelen bir MSVC farklıdır çok bir Intel shared_ptr farklılık shared_ptr,. Bileaynıderleyici, bu sınıflar sürümleri arasındaki ikili uyumlu olmasını garanti edilmez.

Alt satırda, eğer bir dağıtmak istiyorsanızhazırkütüphane sürümü, güvenmek standart bir ABİ lazım. C bir tane yok, ama derleyici satıcıları bir verilen için C kütüphaneleri platformu—birlikte çalışabilirliğini de facto standartlar konusunda çok iyi.

Durum b kadar iyi değildir . Bireysel Derleyiciler kendi ikili arasındaki birlikte çalışabilirlik işleyebilir, her desteklenen derleyici GCC ve MSVC için sık sık bir sürümünü dağıtmaya seçeneği var. Ama bütün bunların ışığında, çoğu kütüphaneler sadece ihracat C arayüzü ve bir ham işaretçi anlamına gelir.

Sigara kitaplığı kod, ancak, genellikle çiğ üzerinden akıllı işaretçiler tercih etmelisiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • eisleyhead

    eisleyhead

    11 Ocak 2006
  • Kingsimba357

    Kingsimba357

    7 NİSAN 2008
  • Tianna Sierra Dance

    Tianna Sierr

    16 EYLÜL 2013