C ++编程语言中的内存泄漏/漏洞

在动态内存分配中,如果任何指针丢失(即,指针没有指向任何内存位置),程序将无法通过指针访问该特定内存位置。

此类存储器既不可访问,也不会分配给其他变量。因此,我们将这种类型的内存视为丢失的内存。

这种情况称为“内存泄漏/内存漏洞”,您应该担心此类内存并编写良好的编程代码来管理它们。因此,请记住,在运行时分配内存时,必须将其释放。

考虑这段代码

int main(){
	int *p; //指针声明
	int i=0;

	//为5个整数分配空间
	p = new int[5];

	cout<<"Enter elements :\n";
	for(i=0;i<5;i++)
		cin>>p[i];

	cout<<"Input elements are :\n";
	for(i=0;i<5;i++)
		cout<<p[i]<<endl;
	
	return 0;
}

在这段代码中,在运行时声明了5个整数的内存,我们没有在运行时使用delete释放占用的内存。

这可能会导致“内存泄漏或内存孔”