#include <iostream> int main(void){ double* p1 = new double(4.6); //定义一个double型指针, 其指向的变量值为 4.6; double* p2 = p1; //p2 也指向相同的内存区域
std::cout << p1 << std::endl; std::cout << p2 << std::endl; *p2 = 3; //操作 p2让 该内存 区域的值为 3; delete p1; //释放 p1(p2)所指的内存区域,释放之后 该内存区域的值 不定(未定)。称指向未定义的内存区域的指针为悬空 std::cout << p1 << std::endl; //指针。 std::cout << p2 << std::endl; std::cout << *p2 << std::endl;
int a; std::cin >> a; return 0; }
C++随笔——悬空指针(dangling pointers)
最新推荐文章于 2024-01-06 21:55:12 发布