Skip to content
เข้าสู่ระบบ

Unsafe Rust

คำว่า unsafe ใน Rust ไม่ได้แปลว่า “โค้ดอันตราย” เสมอไปนะครับ มันแปลว่า “โค้ดนี้ Compiler ตรวจสอบความปลอดภัยให้ไม่ได้… มนุษย์จงรับผิดชอบเอง!”

ลองนึกภาพว่า Rust เหมือนรถที่มีระบบความปลอดภัยเต็มคัน (ABS, Airbag, ฯลฯ) แต่บางครั้งเราต้องปิดระบบเหล่านั้นเพื่อทำอะไรพิเศษ เช่น นักแข่งรถที่ต้อง control รถเองทุกอย่าง

เมื่อเราพิมพ์ unsafe { ... } เราจะได้รับ 5 พลังพิเศษ:

PowerDescriptionExample
Dereference raw pointersเข้าถึงข้อมูลผ่าน pointer ตรงๆ*ptr
Call unsafe functionsเรียกฟังก์ชันที่ประกาศว่า unsafedangerous_fn()
Access mutable staticsแก้ไขตัวแปร globalCOUNTER += 1
Implement unsafe traitsเช่น Send/Syncunsafe impl Send
Access union fieldsอ่านข้อมูลใน unionu.field

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด