SORU
23 ŞUBAT 2010, Salı


Kaynak Satın alma Başlatma (DEMİRYOLU) ne demektir?

Kaynak Satın alma Başlatma (DEMİRYOLU) ne demektir?

CEVAP
5 AĞUSTOS 2013, PAZARTESİ


İnanılmaz güçlü bir kavram için gerçekten berbat bir isim, ve C geliştiriciler diğer dillere geçiş yaptığınızda özledim 1 numara şeylerden biri belki de. Bu kavram olarak yeniden denemek için bir hareketin bir artış varKapsam Bağlama Kaynak Yönetimisadece yakaladığımız için henüz görünmüyor olsa da.,

Ne diyoruz 'Kaynak' biz değil bellek olabilir dosya işleme, ağ soketleri, veritabanı işleme, Sigortacılık Genel Müdürlüğü nesneleri... kısacası, her şey o var bir sonlu arz ve bu yüzden ihtiyacımız var edebilmek için kontrol kullanımı. 'Kapsamında bağlı' boy nesnenin ömrü, bir değişkenin kapsamı, bağlı olduğu anlamına gelir, değişken kapsam dışına çıktığında o zaman yıkıcı kaynak yayınlayacak. Bu çok yararlı bir özellik daha özel güvenlik için yapar. Örneğin, bu karşılaştırın:

RawResourceHandle* handle=createNewResource();
handle->performInvalidOperation();  // Oops, throws exception
...
deleteResource(handle); // oh dear, never gets called so the resource leaks

Bu DEMİRYOLU ile

class ManagedResourceHandle {
public:
   ManagedResourceHandle(RawResourceHandle* rawHandle_) : rawHandle(rawHandle_) {};
   ~ManagedResourceHandle() {delete rawHandle; }
   ... // omitted operator*, etc
private:
   RawResourceHandle* rawHandle;
};

ManagedResourceHandle handle(createNewResource());
handle->performInvalidOperation();

Bu özel durum ve yığın çözülmemiş olduğunda, bu ikinci durumda, yerel değişkenler kaynağımız temizlenir olmasını sağlar imha edilir ve sızıntı yok.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • lilstevie89

    lilstevie89

    25 Mart 2011