C++随笔——悬空指针(dangling pointers)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013555238/article/details/78156704
#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;
}
 
  
 

猜你喜欢

转载自blog.csdn.net/u013555238/article/details/78156704