Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;导致病毒错误?_C++_Pointers_Memory Leaks - Fatal编程技术网

C++ C++;导致病毒错误?

C++ C++;导致病毒错误?,c++,pointers,memory-leaks,C++,Pointers,Memory Leaks,读了这篇文章后,你可能会说我疯了,但当你读到我在这里说的话时,我真的希望你相信我。为了理解可能导致内存泄漏或其他错误的情况,我编写了以下代码,并尝试在pc上编译 #include <iostream> using namespace std; class game { int x; public : char *s; char read(); char manipulation(); }; char game :: read() { ch

读了这篇文章后,你可能会说我疯了,但当你读到我在这里说的话时,我真的希望你相信我。为了理解可能导致内存泄漏或其他错误的情况,我编写了以下代码,并尝试在pc上编译

#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;
}
#包括
使用名称空间std;
班级游戏
{
int x;
公众:
char*s;
字符读取();
字符操作();
};
char游戏::read()
{
字符串[100];
coutstring;
s=字符串;

cout您的反病毒程序在释放漏洞后刚刚找到了用途

string
是一个本地数组。

read()
退出后,您不能使用它。

如果您的系统声称您的代码是病毒,那么您就不必担心,因为您正在失去理智;您不是

病毒扫描程序将查找与病毒一致的行为模式并报告它们。它们并不完美,非病毒行为有时看起来像病毒


例如,一个经典的病毒策略是使用无效的指针写入来运行任意代码。最早使用这种策略的病毒之一,它仍然是一种常见的策略(我记得不久前的IE更新修复了这个问题)。因此,如果你有指针错误(如前一张海报所述)那么它可能看起来像一个病毒。

在阅读您的帖子之前,我可以称您为疯子吗?当然。当然,出于某种原因。
read
方法不会返回任何内容,但它希望返回一个
char
。一般来说,抗病毒药物很糟糕。听起来这里的问题似乎是BITDEFENDER。文件中的某些内容导致了BITDEFENDER生成假阳性。除此之外,如果AV软件将释放bug后使用标记为恶意软件,则可能是卸载它的时候了。当程序在释放指针后继续使用指针时,会出现释放后使用错误。如果这是原因,则是指针“s”的问题是吗?@Tintorius:嗯,这是未定义的行为。谁说它不能启动你的防病毒软件?而且,读到的内容无法打印an&s。我不明白你想在那里做什么。你真的想知道s的地址吗?要想知道你的指针指向哪里,你需要打印s本身(比如cout)