Aracılığıyla paylaş


delete operatörü (C++)

Bellek bloğunu kaldırır.

[::] delete cast-expression
[::] delete [ ] cast-expression

Notlar

Atama ifadesi bağımsız değişkeni, önceden oluşturulmuş bir nesne için ayrılan bellek bloğunu işaretçisine olmalıdır Yeni işleç. Silmek işleci bir sonuç türü olan void ve bu nedenle bir değer döndürmez. Örne?in:

CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;

Kullanarak silmek ile ayrılmamış bir nesneye bir işaretçi üzerinde Yeni tahmin edilemeyen sonuçlar verir. Bununla birlikte, kullanabilirsiniz silmek değeri 0 olan bir işaretçi üzerinde. Bu uygulama, yani, Yeni sonucu başarısız silme hatası üzerinde 0 döndürür Yeni işlem zararsız. Bkz: Yeni ve işleçler silmek daha fazla bilgi için.

Yeni ve silmek işleçleri de diziler gibi yerleşik türleri için kullanılır. pointer Bir dizi yer boş ayraç önce başvurduğu pointer:

int* set = new int[100];
//use set[]
delete [] set;

Kullanarak silmek işleci bir nesne üzerinde belleği seçeneklerindeki. Nesne silindiğinde bir işaretçi dereferences bir program önceden kestirilemeyecek sonuçlara ya da kilitlenme bilgi olabilir.

Zaman silmek olan (nesne bir yıkıcı varsa) nesnenin bellek ayırmanın kaldırılmasından önce bir C++ sınıf nesnesi için bellek ayırması için kullanılan nesne yıkıcısının denir.

İşlenen silmek işleç olarak düzenlenerek l-değeri, nesnesi silindikten sonra değeri tanımlı değil.

Örnek

Kullanım örnekleri için silmek, bkz: Yeni işleç.

Ayrıca bkz.

Başvuru

Tekli operatörler ifadelerle

C++ anahtar sözcükler

Works nasıl silme

DELETE kullanma

Yeni ve işleç silme

işleç silme işlevi