San*_*996 4 c++ pointers memory-leaks
读完这篇文章后你可能会叫我疯了,但是当你读到我在这里说的话时,我真的会请你相信我.在我试图了解可能导致内存泄漏或其他错误的情况时,我编写了以下代码并尝试在我的电脑上进行编译,
#include <iostream>
using namespace std;
class game
{
int x;
public :
char *s;
char read();
char manipulation();
};
char game :: read()
{
char string[100];
cout<<"Enter name ";
cin>>string;
s = string;
cout<<"Name is "<<&s<<endl;
}
int main()
{
game games,games1;
// games.read();
cout<<"Name is "<<games.s<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我在我的主要执行games.read(),我的防病毒软件BITDEFENDER会向我显示以下错误:"BITDEFENDER在c:/ c ++/inline.exe中检测到受感染的项目.病毒名称:Gen:Variant.Graftor. 51542.该文件已经过消毒以保护您的"
inline.cpp是我的程序的名称.如果我删除该行"games.read()",它编译好.指针是否在某处导致内存泄漏?
SLa*_*aks 13
您的防病毒程序刚刚发现了一个免费使用后的漏洞.
string是一个本地数组.退出
后不能使用它read().