Buna bakmanın başka bir yolu: Bir const işaretçisinin kesin anlamı, o veya başka herhangi bir işaretçi veya aynı nesneye başvuru yoluyla görülebilecek olan işaret edilen nesnede değişiklik yapamayacağınızdır. Ancak bir nesne yok edildiğinde, silinmiş nesnenin daha önce işgal ettiği adresin diğer tüm işaretçileri artık o nesneye işaret etmez . Aynı adresi saklarlar, ancak bu adres artık herhangi bir nesnenin adresi değildir (aslında yakında farklı bir nesnenin adresi olarak yeniden kullanılabilir).
C ++ 'daki işaretçiler zayıf referanslar gibi davranırsa, yani nesne yok edilir edilmez, mevcut tüm işaretçiler hemen olarak ayarlanırsa, bu ayrım daha açık olacaktır 0
. (Bu, çalışma zamanında tüm C ++ programlarına empoze edilemeyecek kadar maliyetli olduğu düşünülen türden bir şeydir ve aslında onu tamamen güvenilir hale getirmek imkansızdır.)
GÜNCELLEME : Bunu dokuz yıl sonra geri okurken, avukat gibi. Şimdi orijinal tepkinizi anlaşılır buluyorum. Mutasyona izin vermemek, ancak yıkıma izin vermek açıkça sorunludur. Const işaretçilerinin / referanslarının zımni sözleşmesi, varoluşlarının hedef nesnenin yok edilmesi üzerine bir blok olarak hareket edeceğidir, yani otomatik çöp toplama.
Bunun olağan çözümü, bunun yerine hemen hemen her dili kullanmaktır.