다음 코드를 고려하십시오.동적으로 객체를 만들고 memset을 0으로 만듭니다.
class A
{
private :
int a;
public :
void function1()
{
cout<<"hello world"<<endl;
}
void function2()
{
cout<<"bye bye world"<<endl;
}
};
int main()
{
A *obj = new A();
memset(obj,0,sizeof(A));
obj->function1();
obj->function2();
delete obj;
return 0;
}
함수 호출이 실패해야합니다. 이 코드를 실행하려고하면 완벽하게 실행됩니다. memset이 메서드의 주소에 영향을주지 않는 이유는 무엇입니까? 무슨 일이 일어나고 있는지 설명해 주시겠습니까?
기능은 각 개체에 저장되지 않습니다. 그것은 엄청난 공간 낭비입니다. – chris
생성 된 객체에서 memset()을 호출하는 이유는 무엇입니까? – EJP