อีกวิธีหนึ่งในการดู: ความหมายที่ชัดเจนของตัวชี้ const คือคุณจะไม่สามารถทำการเปลี่ยนแปลงกับวัตถุที่ชี้ไปที่ซึ่งจะมองเห็นได้จากสิ่งนั้นหรือตัวชี้อื่น ๆ หรือการอ้างอิงถึงวัตถุเดียวกัน แต่เมื่อมีการทำลายวัตถุอื่น ๆ ทั้งหมดชี้ไปยังที่อยู่ที่ถูกครอบครองโดยก่อนหน้านี้ตอนนี้วัตถุที่ถูกลบจะไม่มีอีกต่อไปตัวชี้ไปยังวัตถุที่ พวกเขาจัดเก็บที่อยู่เดียวกัน แต่ที่อยู่นั้นไม่ใช่ที่อยู่ของวัตถุใด ๆ อีกต่อไป (ในความเป็นจริงอาจถูกนำกลับมาใช้เป็นที่อยู่ของวัตถุอื่นในไม่ช้า)
ความแตกต่างนี้จะเห็นได้ชัดมากขึ้นถ้าชี้ใน C ++ 0
ทำตัวเหมือนอ้างอิงอ่อนแอเช่นทันทีที่วัตถุถูกทำลายตัวชี้ที่ยังหลงเหลืออยู่ทั้งหมดเพื่อมันจะได้ทันทีจะกำหนดให้ (นั่นเป็นสิ่งที่ถือว่ามีราคาแพงเกินไปในรันไทม์ที่จะกำหนดให้กับโปรแกรม C ++ ทั้งหมดและในความเป็นจริงมันเป็นไปไม่ได้ที่จะทำให้มันเชื่อถือได้ทั้งหมด)
UPDATE : อ่านย้อนหลังเก้าปีต่อมามันเป็นทนายความ ตอนนี้ฉันพบว่าปฏิกิริยาดั้งเดิมของคุณเข้าใจได้แล้ว การไม่อนุญาตให้มีการกลายพันธุ์ แต่การทำลายทิ้งนั้นเป็นปัญหาอย่างชัดเจน สัญญาโดยนัยของตัวชี้ / การอ้างอิง const คือการมีอยู่ของพวกเขาจะทำหน้าที่เป็นตัวขัดขวางการทำลายวัตถุเป้าหมายหรือที่เรียกว่าการเก็บขยะอัตโนมัติ
วิธีแก้ปัญหาตามปกติคือใช้ภาษาอื่นแทนเกือบทั้งหมด