20
หน่วยความจำของตัวแปรโลคัลสามารถเข้าถึงได้นอกขอบเขตหรือไม่?
ฉันมีรหัสต่อไปนี้ #include <iostream> int * foo() { int a = 5; return &a; } int main() { int* p = foo(); std::cout << *p; *p = 8; std::cout << *p; } และรหัสกำลังทำงานโดยไม่มีข้อยกเว้นรันไทม์! ผลลัพธ์ก็คือ 58 มันจะเป็นอย่างไร หน่วยความจำของตัวแปรโลคัลไม่สามารถเข้าถึงได้นอกฟังก์ชั่นหรือไม่